CVE-2026-11893 in Zephyr
Zusammenfassung
von VulDB • 11.08.2026
Der Bluetooth-HCI-Treiber für die On-Chip-BLE-Controller von Bouffalo Lab (BL60x/BL70x/BL61x), genauer `bt_bflb_send()` in `drivers/bluetooth/hci/hci_bflb.c`, verstößt gegen den Buffer-Eigentumsvertrag der Funktion `bt_hci_driver_api.send()`. Dieser Vertrag (dokumentiert unter `include/zephyr/drivers/bluetooth.h`) verlangt, dass die Buffer-Referenz nur im Erfolgsfall verbraucht wird; bei einem Fehler bleibt die Referenz beim Aufrufer und dieser ruft sie explizit wieder frei (`unref`). Der Treiber leitet stattdessen alle Fehlerpfade über eine gemeinsame Sprungmarke weiter, die vor der Rückgabe des Fehlercodes bedingungslos `net_buf_unref(buf)` aufruft. Dadurch wird der Buffer auch im Fehlerfall verbraucht.
Wenn `send()` einen Fehler zurückgibt, ruft der Host-TX-Pfad (`send_buf()` in `subsys/bluetooth/host/conn.c`) denselben Buffer erneut frei, da er annimmt, ihm gehöre die Referenz noch immer. Dieser doppelte Freigabeaufruf (double-unref) dekrementiert den Verweiszähler von `net_buf` übermäßig stark. Da der Buffer ein TX-Fragment ist und dessen Destroy-Callback auch den Zähler des noch in der Warteschlange befindlichen Elternbuffers dekrementiert, wird dieser Elternbuffer vorzeitig freigegeben, obwohl er weiterhin auf der TX-Warteschlange der Verbindung erreichbar ist. Dies führt zu einem Use-After-Free sowie zur Beschädigung des gemeinsam genutzten `net_buf`-Pools anstelle eines harmlosen Speicherverlusts (Leak).
Die Fehlerbedingungen treten im Host-zu-Controller-Sende-Pfad auf (Fehler beim Senden durch den Controller oder ein nicht unterstützter H:4-Pakettyp), sodass sie nicht direkt von Angreifern bereitgestellten Funksignalbytes ausgelöst werden; eine entfernte oder benachbarte Peer-Komponente kann diese nur indirekt beeinflussen, z. B. indem unter hoher Link-Belastung TX-Fehler des Controllers hervorgerufen werden. Die daraus resultierende Folge ist ein Denial-of-Service-Angriff auf den BLE-Stack (Absturz / Pool-Beschädigung) mit möglichem weiteren Speicherbeschädigungen, beschränkt auf Geräte, die einen der genannten Bouffalo Lab On-Chip-Controller verwenden.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.