PT-2026-116982 · Linux · Linux

CVE-2026-98763

·

Published

2026-10-18

·

Updated

2026-10-18

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
usb: core: clear both ep in and ep out for non-ep0 control endpoints
In usb enable endpoint(), non-zero control endpoints (where usb endpoint xfer control(&ep->desc) is true) populate both dev->ep in[epnum] and dev->ep out[epnum] with the same struct usb host endpoint pointer.
However, usb disable endpoint() only clears either dev->ep out[epnum] or dev->ep in[epnum] depending on the direction bit of epaddr when reset hardware is set, leaving the opposite direction's array slot pointing to the disabled/freed endpoint.
Clear both dev->ep out[epnum] and dev->ep in[epnum] when disabling a non-ep0 control endpoint with reset hardware set, and update the function kerneldoc accordingly.
Tested in QEMU against Linux 7.3.0-rc3 using dummy hcd and raw-gadget to enumerate a USB device with a non-zero control endpoint (bEndpointAddress 0x01, bmAttributes USB ENDPOINT XFER CONTROL), verifying that both dev->ep in[1] and dev->ep out[1] are cleared when the interface is disabled.
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2026-98763

Affected Products

Linux