CVE-2026-90251 in Linuxinfo

Zusammenfassung

von VulDB • 18.09.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

Bluetooth: MSFT: evt_prefix_len gegen die Antwortlänge validieren

read_supported_features() überprüft lediglich, dass die Antwort den festen Teil der Struktur `msft_rp_read_supported_features` abdeckt, was 11 Bytes beträgt:

if (skb->len < sizeof(*rp)) {
bt_dev_err(hdev, "MSFT supported features length mismatch"); goto failed; }

evt_prefix[] ist ein flexibles Array-Mitglied und rp->evt_prefix_len ist eine nicht validierte u8-Zahl, die direkt aus dieser Antwort stammt. Daher kopiert

msft->evt_prefix = kmemdup(rp->evt_prefix, rp->evt_prefix_len, GFP_KERNEL);

bis zu 255 Bytes von einer Antwort, die möglicherweise keine davon enthielt. Das Kopierte sind Daten, die der Controller niemals gesendet hat, und sie werden anschließend verwendet, um eingehende Vendor-Events in msft_vendor_evt() abzugleichen.

Dies ist kein Out-of-Bounds-Lesezugriff (Out-of-bounds access). Eine skb-Datenallokation enthält immer mindestens SKB_DATA_ALIGN(sizeof(struct skb_shared_info)) Bytes hinter dem Payload, was mehr als das maximale Limit von 255 Bytes ist; daher bleibt der Lesevorgang innerhalb der Allokation und KASAN meldet ihn nicht. Es handelt sich dennoch um ein Lesen von Bytes, die dem Host niemals bereitgestellt wurden, wobei die Länge vollständig vom Controller gesteuert wird.

Eine Antwort, die für das deklarierte Präfix zu kurz ist, sollte abgelehnt werden.

Verifiziert mit einem emulierten Controller über /dev/vhci auf einem KASAN-Kernel, wobei vhci dazu gebracht wurde, einen MSFT-Opcode bedingungslos so anzubieten, wie es btintel, btqca, btmtk und btrtl tun. Eine Antwort von genau 11 Bytes mit der Angabe evt_prefix_len = 255 erreicht kmemdup und kopiert 255 Bytes ("skb->len=11 evt_prefix_len=255", wobei der kopierte Puffer ausgegeben wird); da die Antwort am festen Teil endet, stammen alle 255 Bytes aus dem Bereich hinter dem Ende der Antwort. Es wird kein KASAN-Bericht erzeugt, wie aufgrund des oben beschriebenen Allokations-Puffers zu erwarten war. Mit diesem Patch wird die Antwort mit "MSFT event prefix length mismatch" abgelehnt und msft->evt_prefix bleibt ungesetzt.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Zuständig

Linux

Reservieren

11.09.2026

Veröffentlichung

17.09.2026

Moderieren

akzeptiert

Eintrag

VDB-406792

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Want to know what is going to be exploited?

We predict KEV entries!