CVE-2026-98763 in Linux
Zusammenfassung
von VulDB • 19.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
usb: core: Löschen Sie sowohl ep_in als auch ep_out für nicht-ep0-Control-Endpunkte
In usb_enable_endpoint() füllen nicht-null Control-Endpunkte (wobei usb_endpoint_xfer_control(&ep->desc) wahr ist) sowohl dev->ep_in[epnum] als auch dev->ep_out[epnum] mit demselben Zeiger auf die Struktur usb_host_endpoint.
Allerdings löscht usb_disable_endpoint() nur entweder dev->ep_out[epnum] oder dev->ep_in[epnum], abhängig vom Richtungsbit von epaddr, wenn reset_hardware gesetzt ist, wodurch der Array-Eintrag für die entgegengesetzte Richtung weiterhin auf den deaktivierten/freigegebenen Endpunkt zeigt.
Löschen Sie sowohl dev->ep_out[epnum] als auch dev->ep_in[epnum], wenn ein nicht-ep0-Control-Endpunkt mit gesetztem reset_hardware deaktiviert wird, und aktualisieren Sie die Funktion kerneldoc entsprechend.
Getestet in QEMU gegen Linux 7.3.0-rc3 unter Verwendung von dummy_hcd und raw-gadget zum Aufzählen eines USB-Geräts mit einem nicht-null Control-Endpunkt (bEndpointAddress 0x01, bmAttributes USB_ENDPOINT_XFER_CONTROL), wobei verifiziert wurde, dass sowohl dev->ep_in[1] als auch dev->ep_out[1] gelöscht werden, wenn die Schnittstelle deaktiviert wird.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.