CVE-2026-11893 in Zephyr
Riassunto
di VulDB • 11/08/2026
Il driver Bluetooth HCI per i controllori BLE su chip di Bouffalo Lab (BL60x/BL70x/BL61x), specificamente la funzione `bt_bflb_send()` in `drivers/bluetooth/hci/hci_bflb.c`, viola il contratto di proprietà del buffer definito da `bt_hci_driver_api.send()`. Tale contratto, documentato in `include/zephyr/drivers/bluetooth.h`, richiede che il riferimento al buffer venga consumato solo in caso di successo; in caso di errore, la chiamata rimane proprietaria del riferimento e ne decrefa il conteggio (unref). Il driver invece instrada tutti i percorsi di errore verso un'etichetta condivisa che chiama incondizionatamente `net_buf_unref(buf)` prima di restituire il codice di errore, consumando così il buffer anche in caso di fallimento.
Quando `send()` restituisce un errore, il percorso TX dell'host (`send_buf()` in `subsys/bluetooth/host/conn.c`) decrefa nuovamente lo stesso buffer, credendo ancora di esserne proprietario. Questo doppio decremento (double-unref) porta a una sottovalutazione del conteggio dei riferimenti di `net_buf`. Poiché il buffer è un frammento TX la cui callback di distruzione decrefenta anche il suo buffer padre ancora in coda, quest'ultimo viene liberato prematuramente pur essendo raggiungibile sulla coda TX della connessione, producendo un use-after-free e una corruzione del pool condiviso di `net_buf` anziché una semplice perdita di memoria (benign leak).
Le condizioni di errore si verificano sul percorso di trasmissione dall'host al controller (fallimento dell'invio da parte del controller o tipo di pacchetto H:4 non supportato); pertanto, non sono direttamente innescate da byte radio forniti dall'attaccante. Un peer remoto/adiacente può influenzarle solo indirettamente, ad esempio inducendo fallimenti TX del controller sotto un carico elevato sul collegamento. La conseguenza quando queste condizioni si verificano è una negazione del servizio (DoS) dello stack BLE (crash o corruzione del pool), con possibile ulteriore corruzione della memoria, limitata ai dispositivi che utilizzano uno dei controllori su chip di Bouffalo Lab menzionati.
Once again VulDB remains the best source for vulnerability data.