CVE-2026-43424

usb: gadget: f_tcm: Fix NULL pointer dereferences in nexus handling

MEDIUM
5.5
CVSS Score
Published: May 8, 2026 at 02:21 PM UTC
Updated: June 17, 2026 at 10:49 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.1%

Description

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_tcm: Fix NULL pointer dereferences in nexus handling The `tpg->tpg_nexus` pointer in the USB Target driver is dynamically managed and tied to userspace configuration via ConfigFS. It can be NULL if the USB host sends requests before the nexus is fully established or immediately after it is dropped. Currently, functions like `bot_submit_command()` and the data transfer paths retrieve `tv_nexus = tpg->tpg_nexus` and immediately dereference `tv_nexus->tvn_se_sess` without any validation. If a malicious or misconfigured USB host sends a BOT (Bulk-Only Transport) command during this race window, it triggers a NULL pointer dereference, leading to a kernel panic (local DoS). This exposes an inconsistent API usage within the module, as peer functions like `usbg_submit_command()` and `bot_send_bad_response()` correctly implement a NULL check for `tv_nexus` before proceeding. Fix this by bringing consistency to the nexus handling. Add the missing `if (!tv_nexus)` checks to the vulnerable BOT command and request processing paths, aborting the command gracefully with an error instead of crashing the system.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

3.5 ≤ v < 5.10.2533.5 ≤ v < 6.1.1673.5 ≤ v < 6.12.783.5 ≤ v < 6.18.193.5 ≤ v < 6.19.93.5 ≤ v < 6.6.1303.5 ≤ v < 7.05.11 ≤ v < 6.1.1676.13 ≤ v < 6.18.196.19 ≤ v < 6.19.96.2 ≤ v < 6.6.1306.7 ≤ v < 6.12.783.57.0 rc17.0 rc27.0 rc37.0 rc4c52661d60f636d17e26ad834457db333bd1df494
Vendor states this is fixed in 2a2ef846a54a06c33b5c2d4b0d918583e1e7c0b7 (fixed)
Vendor states this is fixed in 3d309b37633c4a847fc149939a2c9576f1aa1065 (fixed)
Vendor states this is fixed in 679d9535aeb15c10bce89c44102004b96624d706 (fixed)
Vendor states this is fixed in b9b26d7f3aa288cfa54a7bc68612bab1f153f156 (fixed)
Vendor states this is fixed in b9fde507355342a2d64225d582dc8b98ff5ecb19 (fixed)
Vendor states this is fixed in d146f27758049fa55ae4c53785a852d3cf7a18d6 (fixed)
Vendor states this is fixed in f962ca3b020e13d6714f27e8c36fe742441c58d1 (fixed)
Vendor states this is fixed in 3.5 (unaffected)
Vendor states this is fixed in 5.10.253 (unaffected)
Vendor states this is fixed in 6.1.167 (unaffected)
Vendor states this is fixed in 6.12.78 (unaffected)
Vendor states this is fixed in 6.18.19 (unaffected)
Vendor states this is fixed in 6.19.9 (unaffected)
Vendor states this is fixed in 6.6.130 (unaffected)
Vendor states this is fixed in 7.0 (unaffected)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-476

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card