Description
In the Linux kernel, the following vulnerability has been resolved:

USB: gadget: dummy-hcd: Fix wait for outstanding request completions

The dummy-hcd driver emulates synchronize_irq() by waiting until its
private callback_usage counter drops to 0 (with the private lock not
held). This counter is incremented whenever a gadget driver callback
occurs (which requires the private lock to be dropped), but not when a
request completion handler is called.

This is an oversight. Request completion is triggered by timer
interrupts (emulating device IRQs in a real UDC), and the interrupt
handlers are supposed to have completed when the synchronize_irq()
emulation routine returns -- they aren't supposed to be in the middle
of a completion callback. If this happens it can lead to a gadget
driver's unbind routine running before all outstanding request
completions have finished, maybe even allowing the gadget driver's
module to be unloaded while a completion handler is still running.

Fix the oversight by incrementing the callback_usage value across
request completion callbacks.
Published: 2026-10-18
Score: 4.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Kernel instability from driver unload race
Action: Immediate Patch
AI Analysis

Impact

The Linux kernel’s dummy-hcd driver incorrectly waits for a completion counter to reach zero during emulate_synchronize_irq(). The counter is increased for gadget driver callbacks but not for request completion callbacks, so the driver’s unbind routine can run while outstanding request completions are still pending. The gadget module may be unloaded while a completion handler is executing, leading to a race condition that can cause kernel instability, crashes, or memory corruption due to use‑after‑free.

Affected Systems

The vulnerability affects all Linux kernel releases that include the dummy-hcd driver without the recent patch. Any system that loads a gadget driver via dummy‑hcd, such as for USB simulation or testing, is potentially exposed. The fix was introduced by commit 3070806a7bc7bb36ed04a21022c09dafcc5619f4 and later commits, so older kernel versions remain vulnerable while newer ones include the change. Linux is the sole affected vendor; no other vendors or sub‑products are listed.

Risk and Exploitability

The EPSS score is < 1% and the issue is not listed in the CISA KEV catalog, so public exploitation data is limited. The CVSS score is 4.1, but the potential for a kernel panic indicates a high impact. Exploitation would require the dummy‑hcd driver to be loaded and a request completion to occur during an unbind, so an attacker needs advanced knowledge of the target’s USB gadget configuration or local/privileged access. Even without discovered exploits, the risk is elevated for environments that rely on dummy‑hcd for development or testing. The lack of publicly available exploit code does not preclude future targeted attacks.

Generated by OpenCVE AI on October 23, 2026 at 19:46 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Linux kernel to a release that contains the commit fixing the dummy-hcd synchronization bug.
  • If an immediate kernel upgrade is unfeasible, disable the dummy-hcd gadget driver on systems where it is not required to reduce the attack surface.
  • Monitor kernel logs for unexpected gadget driver unloads or crashes and verify that the driver is inactive when not in use.

Generated by OpenCVE AI on October 23, 2026 at 19:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
History

Fri, 30 Oct 2026 13:00:00 +0000


Fri, 23 Oct 2026 18:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Fri, 23 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-366
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Wed, 21 Oct 2026 13:15:00 +0000


Sun, 18 Oct 2026 22:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Sun, 18 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: USB: gadget: dummy-hcd: Fix wait for outstanding request completions The dummy-hcd driver emulates synchronize_irq() by waiting until its private callback_usage counter drops to 0 (with the private lock not held). This counter is incremented whenever a gadget driver callback occurs (which requires the private lock to be dropped), but not when a request completion handler is called. This is an oversight. Request completion is triggered by timer interrupts (emulating device IRQs in a real UDC), and the interrupt handlers are supposed to have completed when the synchronize_irq() emulation routine returns -- they aren't supposed to be in the middle of a completion callback. If this happens it can lead to a gadget driver's unbind routine running before all outstanding request completions have finished, maybe even allowing the gadget driver's module to be unloaded while a completion handler is still running. Fix the oversight by incrementing the callback_usage value across request completion callbacks.
Title USB: gadget: dummy-hcd: Fix wait for outstanding request completions
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-30T12:39:34.382Z

Reserved: 2026-09-25T10:25:14.368Z

Link: CVE-2026-98765

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:30.323

Modified: 2026-10-30T13:21:26.047

Link: CVE-2026-98765

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98765 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T20:00:16Z

Weaknesses
  • CWE-366

    Race Condition within a Thread