GHSA-7V54-4578-623X
Vulnerability from github – Published: 2026-10-18 18:32 – Updated: 2026-10-30 15:34In the Linux kernel, the following vulnerability has been resolved:
usb: dwc3: gadget: fix IRQ storm on invalid event buffer count
When dwc3_check_event_buf() reads a GEVNTCOUNT value exceeding the event buffer length, commit 63ccd26cd1f6 ("usb: dwc3: gadget: check that event count does not exceed event buffer length") returns IRQ_NONE without writing back GEVNTCOUNT. Since the DWC3 interrupt is level-triggered, the uncleared IRQ source keeps the line asserted, causing a tight IRQ storm that accumulates 99,900 unhandled interrupts and triggers spurious.c:184 BUG -> kernel panic.
The resulting call stack: __report_bad_irq+0xac/0xc8 note_interrupt+0x340/0x468 handle_irq_event+0xac/0xc0 handle_fasteoi_irq+0x120/0x228 gic_handle_irq+0x68/0x108 ... kernel BUG at kernel/irq/spurious.c:184
To reproduce, write a bogus value exceeding the event buffer length directly to the GEVNTCOUNT register:
devmem 4 0x1004
Write the bogus count back to GEVNTCOUNT to clear the IRQ source, consistent with the stale event clearing pattern in dwc3_event_buffers_setup(), and schedule error recovery to reinitialize the controller.
{
"affected": [],
"aliases": [
"CVE-2026-98767"
],
"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: dwc3: gadget: fix IRQ storm on invalid event buffer count\n\nWhen dwc3_check_event_buf() reads a GEVNTCOUNT value exceeding the\nevent buffer length, commit 63ccd26cd1f6 (\"usb: dwc3: gadget: check\nthat event count does not exceed event buffer length\") returns IRQ_NONE\nwithout writing back GEVNTCOUNT. Since the DWC3 interrupt is\nlevel-triggered, the uncleared IRQ source keeps the line asserted,\ncausing a tight IRQ storm that accumulates 99,900 unhandled interrupts\nand triggers spurious.c:184 BUG -\u003e kernel panic.\n\nThe resulting call stack:\n __report_bad_irq+0xac/0xc8\n note_interrupt+0x340/0x468\n handle_irq_event+0xac/0xc0\n handle_fasteoi_irq+0x120/0x228\n gic_handle_irq+0x68/0x108\n ...\n kernel BUG at kernel/irq/spurious.c:184\n\nTo reproduce, write a bogus value exceeding the event buffer length\ndirectly to the GEVNTCOUNT register:\n\n devmem \u003cDWC3_BASE + 0xc40c\u003e 4 0x1004\n\nWrite the bogus count back to GEVNTCOUNT to clear the IRQ source,\nconsistent with the stale event clearing pattern in\ndwc3_event_buffers_setup(), and schedule error recovery to\nreinitialize the controller.",
"id": "GHSA-7v54-4578-623x",
"modified": "2026-10-30T15:34:00Z",
"published": "2026-10-18T18:32:02Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98767"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/1ff77cbefe5a653ea12874c213ea4bd0d72c1067"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/2c41e442ff6304532bf369aa618b23c8a474feb4"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/6cd82563bb270e03fe2f91324660ea14e3ce5d1a"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/86b9c867fb061a147df05ff0d9bb69dd3d79f49a"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/96918ca25ff467c25675478fc79393df4ae9d74c"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/ba927133b301894e7d24099afbb701887c8cd2f1"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/f51cadb02b439850ab411df0a2cf4288a66d42e2"
}
],
"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.