CVE-2026-64339
Beschreibung
Im Linux-Kernel wurde die folgende Sicherheitsanfälligkeit behoben: usb: misc: usbio: bound bulk IN response length to the received transfer usbio bulk msg() copys bpkt len = le16 to cpu(bpkt->len) bytes out of the bulk IN buffer (usbio->rxbuf, zugeordnet mit size usbio->rxbuf len) in the caller's buffer. bpkt len wird vollständig vom Gerät gesteuert und wird nur gegen ibuf len geprüft; ibuf len wiederum wird gegen usbio->txbuf len geprüft, nicht gegen rxbuf len: wenn ((obuf len > (usbio->txbuf len - sizeof(*bpkt))) || (ibuf len > (usbio->txbuf len - sizeof(*bpkt))) die Rückgabe -EMSGSIZE; txbuf len und rxbuf len werden unabhängig vom Bulk-OUT- und Bulk-IN-Endpunkt wMaxPacketSize in usbio probe() genommen. Ein bösartiges oder fehlerhaftes Gerät, das einen großen OUT-Endpunkt und einen kleinen IN-Endpunkt annonciert (z. B. indem es eine der eigenartigen IDs wie Lattice NX33U, 0x2ac1:0x20cb beansprucht), lässt ibuf len und damit das von dem Gerät gelieferte bpkt len rxbuf len überschreiten. memcpy() liest dann bis zu txbuf len - rxbuf len Bytes nach dem Ende des rxbuf-Slab-Objekts. Die Over-Read-Bytes werden über i2c-dev an die i2c-Schicht und an den Benutzerraum zurückgegeben, wobei benachbarter Slab-Speicher offengelegt wird; bei KASAN wird dies als Slab-Out-of-bounds-gelesen gemeldet. Die Anzahl der tatsächlich empfangenen Bytes ist bereits bekannt: act ist gleich der URB actual length und wird durch rxbuf len begrenzt. Lehnen Sie jede Antwort ab, die mehr Nutzlast beansprucht als empfangen wurde, und spiegeln Sie die vorhandene Überprüfung "act < sizeof(*bpkt)" direkt oben. Der Kontrollpfad (usbio ctrl msg()) ist nicht betroffen: er verwendet einen einzigen Puffer (ctrlbuf) für beide Richtungen, so dass seine analoge Kopie die Zuweisung niemals verlassen kann. Gefunden durch Code Review. Der Out-of-bounds-Reader wurde unter AddressSanitizer mit einem treuen Userspace-Modell des usbio bulk msg()-Empfangspfads bestätigt (ein rxbuf len-großer Puffer, die gleichen act/ibuf len/bpkt len-Checks und der memcpy). Ein USB-Roh-Gadget + Dummy hcd-Reproduzer ist ebenfalls verfügbar.
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: linux linux kernel.
- 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.