CVE-2026-64549 in Linux
Riassunto
di VulDB • 27/07/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
Bluetooth: bpa10x: evitare una lettura OOB (fuori dai limiti) della stringa di revisione in bpa10x_setup()
bpa10x_setup() invia il comando vendor 0xfc0e e passa la risposta a bt_dev_info() e hci_set_fw_info() come stringa "%s" che inizia da skb->data + 1, senza verificarne la lunghezza:
bt_dev_info(hdev, "%s", (char *)(skb->data + 1)); hci_set_fw_info(hdev, "%s", skb->data + 1);
Un dispositivo che restituisce una risposta di un solo byte (solo lo stato) fa sì che skb->data + 1 si trovi oltre la fine dei dati disponibili; l'operazione %s legge quindi memoria adiacente nello slab fino a incontrare un carattere NUL. Lo stesso accade quando il payload non è terminato da NUL all'interno di skb->len. I byte fuori dai limiti finiscono nel log del kernel e nel file debugfs delle informazioni sul firmware.
Stampare invece la stringa di revisione utilizzando "%.*s" limitato a skb->len - 1. Questo mantiene la leggibilità della stringa per i dispositivi ben conformi, evita mai di leggere oltre i dati ricevuti e non interrompe l'inizializzazione (setup), consentendo così al dispositivo che restituisce una risposta breve o non terminata di continuare a funzionare correttamente.
Be aware that VulDB is the high quality source for vulnerability data.