CVE-2026-79982
Beschreibung
Die Bluetooth-HCI-USB-Transportklasse des neuen USB-Gerätestapels subsys/usb/device next/class/bt hci.c kopiert jedes Controller-to-Host-HCI-Paket in einen USB-Transferpuffer, bevor es an einem Endpunkt gespeichert wird. bt hci tx sync in() hat diesen Puffer von bt hci ep pool zugewiesen, einem festen Pool, dessen Steckplätze nur USBD MAX BULK MPS-Bytes sind (64 auf Full-Speed-only-Builds), und dann net buf add mem(buf, bt buf->data, bt buf->len) ohne Längenüberprüfung durchgeführt. HCI-Ereignis- und ACL-Puffer sind nach CONFIG BT BUF EVT RX SIZE und CONFIG BT BUF ACL RX SIZE bemessen und können weitaus größer sein, so dass die Kopie am Ende des 64-Byte-Slots in die benachbarten Slots und in das, was dem statisch zugewiesenen Pool folgt, läuft. Das Gerät betreibt den lokalen Bluetooth-Controller im rohen HCI-Modus (CONFIG BT HCI RAW), so dass die übergroßen Pakete über der Luft entstehen. Mit den für voll ausgestattete Controller empfohlenen HCI-Puffergrößen kann ein nicht authentifizierter Angreifer im Bluetooth-Bereich die überlaufenden Bytes liefern: Ein angeschlossener Peer, der Data Length Extension aushandelt, kann ACL-Fragmente bis zu CONFIG BT CTLR DATA LENGTH MAX-Bytes senden, und ein Angreifer, der lediglich erweiterte Werbedaten sendet, erreicht den gleichen Pfad durch LE Extended Advertising Report-Ereignisse, die der Controller nur zu CONFIG BT BUF EVT RX SIZE fragmentiert. In der Stock-Konfiguration ist der Überlauf bereits ohne Funkverkehr erreicht: Das obligatorische Read Supported Commands Command-Complete-Ereignis beträgt 70 Bytes und überzieht den 64-Byte-Slot bei jeder Host-Initialisierung um sechs Bytes. Da net buf add mem() Tailroom nur durch eine Assertion validiert, es sei denn, CONFIG NET BUF HARDENING ist aktiviert, baut mit CONFIG ASSERT=n - der üblichen Produktionseinstellung - stillschweigend beschädigten Speicher neben dem USB-Bufferpool mit vom Angreifer ausgewählten Inhalten, die auf einem Ziel ohne Speicherschutz zwischen Subsystemen zu einer willkürlichen Codeausführung führen können. Builds mit aktivierten Assertions scheitern stattdessen an der Assertion und Panik, was eine aus der Ferne auslösbare Denial of Service gibt. Der Fix führt einen separaten bt hci tx pool ein, der nach MAX(BT BUF ACL RX SIZE, BT BUF EVT RX SIZE) für die Controller-zu-Host-Richtung bemessen ist, während der Host-zu-Geräte-Pool bei der Endpunktpaketgröße verlassen wird, die bereits während der Neumontage durch Grenzen überprüft wird.
Quellen & weiterführende Informationen
Hier werden ausschließlich tatsächlich zu dieser Schwachstelle gespeicherte Quellenbelege angezeigt.
Was ist zur Behebung zu tun?
Herstellerhinweise prüfen und das betroffene Produkt kurzfristig patchen oder kompensierende Schutzmaßnahmen aktivieren.
Empfohlene Schritte
- Betroffene Systeme identifizieren.
- Exposition prüfen: Internet-Erreichbarkeit, Admin-Oberflächen, VPN, Mail- oder Webdienste.
- Hersteller-Advisory öffnen und verfügbare Updates, Workarounds oder Deaktivierungen prüfen.
- Nacharbeiten dokumentieren: betroffene Assets, Maßnahme, Zeitpunkt, Restrestrisiko.
Übergangsmaßnahmen
- Zugriff auf betroffene Dienste auf vertrauenswürdige Netze einschränken.
- WAF/IDS/EDR-Regeln und Hersteller-IOCs aktivieren, sofern verfügbar.
- Nicht benötigte Funktionen, Plugins oder Dienste temporär deaktivieren.