GHSA-F752-7J6X-76W7
Vulnerability from github – Published: 2026-10-18 18:32 – Updated: 2026-10-30 15:33In 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.
{
"affected": [],
"aliases": [
"CVE-2026-98763"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-10-18T16:17:30Z",
"severity": null
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: core: clear both ep_in and ep_out for non-ep0 control endpoints\n\nIn usb_enable_endpoint(), non-zero control endpoints (where\nusb_endpoint_xfer_control(\u0026ep-\u003edesc) is true) populate both\ndev-\u003eep_in[epnum] and dev-\u003eep_out[epnum] with the same struct\nusb_host_endpoint pointer.\n\nHowever, usb_disable_endpoint() only clears either dev-\u003eep_out[epnum] or\ndev-\u003eep_in[epnum] depending on the direction bit of epaddr when\nreset_hardware is set, leaving the opposite direction\u0027s array slot\npointing to the disabled/freed endpoint.\n\nClear both dev-\u003eep_out[epnum] and dev-\u003eep_in[epnum] when disabling a\nnon-ep0 control endpoint with reset_hardware set, and update the\nfunction kerneldoc accordingly.\n\nTested in QEMU against Linux 7.3.0-rc3 using dummy_hcd and raw-gadget to\nenumerate a USB device with a non-zero control endpoint\n(bEndpointAddress 0x01, bmAttributes USB_ENDPOINT_XFER_CONTROL),\nverifying that both dev-\u003eep_in[1] and dev-\u003eep_out[1] are cleared when\nthe interface is disabled.",
"id": "GHSA-f752-7j6x-76w7",
"modified": "2026-10-30T15:33:59Z",
"published": "2026-10-18T18:32:02Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98763"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/0e8baa78d872f2db440d8b9ded946ab8dceb89eb"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/198d74dcfa129523125f46a89479d3b446b17dbe"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/1da16c46b8d7101b74bc2d72a04e23cf5c7ddea1"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/59d2c9d70fa42e2290ff68e6430d38a1c817fcb7"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/7a9f61476b0e8002092a52ee8295edeeb0a28d1e"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/a7928ad4bbb330dfb0f726166384f319d66eb5d1"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/b521fe45e06b3f7042e6d1f9566ddb6f179dcb1d"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/c50413ecb662ea43c7f487632c8114721743a277"
}
],
"schema_version": "1.4.0",
"severity": []
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.