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

usb: gadget: f_tcm: fix deadlock in usbg_make_tpg()

usbg_make_tpg() held dep_lock while calling
configfs_depend_item_unlocked(), which acquires the configfs root
inode lock when operating across subsystems. This creates a circular
lock dependency with configfs_rmdir():

dep_lock -> configfs root inode lock -> su_mutex -> dep_lock

In usbg_make_tpg(), dep_lock only serialized the read of opts->ready,
which is a monotonic flag that transitions from false to true exactly
once (in tcm_set_name()) and never reverts. Remove dep_lock from
usbg_make_tpg() entirely and use READ_ONCE/WRITE_ONCE to access
opts->ready locklessly instead.
Published: 2026-09-24
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Deadlock leading to potential denial of service
Action: Immediate Patch
AI Analysis

Impact

A deadlock in the Linux kernel’s USB gadget function f_tcm creates a circular lock dependency that can cause the system to suspend or lock up. The vulnerability arises when dep_lock is held while calling configfs_depend_item_unlocked, which in turn acquires the configfs root inode lock, forming a cycle with su_mutex. The effect is a halt or severe performance degradation for processes that interact with the USB gadget stack, potentially disrupting services that rely on USB communication. This is a typical race condition leading to system instability, described by CWE‑830.

Affected Systems

All Linux kernel deployments that include the f_tcm USB gadget driver are affected, as the issue exists in the general Linux kernel and is not limited to a single distribution or version. The fix is implemented via a kernel commit (reference commit 3639438a4c83ffc2e564c8c010b92137c5d11cfa), but the specific kernel package or release that integrates this commit is not identified in the advisory. Users of any Linux kernel build that incorporates the f_tcm driver should check for this commit or later versions.

Risk and Exploitability

The CVSS score is not provided, and no EPSS score is available, so the exact severity cannot be quantified. The vulnerability is not listed in the CISA KEV catalog, indicating no known widespread exploitation. The attack vector appears to come from control over USB gadget operations; a malicious payload could trigger the deadlock by interacting with the device driver. Since the issue causes a deadlock rather than direct code execution, the risk is primarily to availability rather than confidentiality or integrity.

Generated by OpenCVE AI on September 25, 2026 at 11:17 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest Linux kernel release that contains commit 3639438a4c83ffc2e564c8c010b92137c5d11cfa, which removes the problematic dep_lock and uses lock‑free access to opts->ready.
  • If an immediate kernel upgrade is not feasible, limit the use of USB gadget devices that rely on the f_tcm driver and monitor for any blocking behavior to avoid service disruptions.
  • For systems that cannot be updated quickly, consider compiling the kernel with the f_tcm module disabled or applying the commit manually as a patch to prevent the deadlock scenario.

Generated by OpenCVE AI on September 25, 2026 at 11:17 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Fri, 25 Sep 2026 11:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-830

Thu, 24 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_tcm: fix deadlock in usbg_make_tpg() usbg_make_tpg() held dep_lock while calling configfs_depend_item_unlocked(), which acquires the configfs root inode lock when operating across subsystems. This creates a circular lock dependency with configfs_rmdir(): dep_lock -> configfs root inode lock -> su_mutex -> dep_lock In usbg_make_tpg(), dep_lock only serialized the read of opts->ready, which is a monotonic flag that transitions from false to true exactly once (in tcm_set_name()) and never reverts. Remove dep_lock from usbg_make_tpg() entirely and use READ_ONCE/WRITE_ONCE to access opts->ready locklessly instead.
Title usb: gadget: f_tcm: fix deadlock in usbg_make_tpg()
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-09-24T15:10:36.975Z

Reserved: 2026-09-17T16:02:15.093Z

Link: CVE-2026-93214

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T16:17:16.397

Modified: 2026-09-24T16:17:16.397

Link: CVE-2026-93214

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T11:30:16Z

Weaknesses
  • CWE-830

    Inclusion of Web Functionality from an Untrusted Source