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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
c52661d60f636d17e26ad834457db333bd1df494 to < b9b26d7f3aa288cfa54a7bc68612bab1f153f156affectedc52661d60f636d17e26ad834457db333bd1df494 to < 2a2ef846a54a06c33b5c2d4b0d918583e1e7c0b7affectedc52661d60f636d17e26ad834457db333bd1df494 to < d146f27758049fa55ae4c53785a852d3cf7a18d6affectedc52661d60f636d17e26ad834457db333bd1df494 to < f962ca3b020e13d6714f27e8c36fe742441c58d1affectedc52661d60f636d17e26ad834457db333bd1df494 to < 679d9535aeb15c10bce89c44102004b96624d706affectedc52661d60f636d17e26ad834457db333bd1df494 to < 3d309b37633c4a847fc149939a2c9576f1aa1065affectedc52661d60f636d17e26ad834457db333bd1df494 to < b9fde507355342a2d64225d582dc8b98ff5ecb19affected
Linux Linux
Default version status: affected
3.5affected0 to < 3.5unaffected5.10.253 to ≤ 5.10.*unaffected6.1.167 to ≤ 6.1.*unaffected6.6.130 to ≤ 6.6.*unaffected6.12.78 to ≤ 6.12.*unaffected6.18.19 to ≤ 6.18.*unaffected6.19.9 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/b9b26d7f3aa288cfa54a7bc68612bab1f153f156 ↗
- https://git.kernel.org/stable/c/2a2ef846a54a06c33b5c2d4b0d918583e1e7c0b7 ↗
- https://git.kernel.org/stable/c/d146f27758049fa55ae4c53785a852d3cf7a18d6 ↗
- https://git.kernel.org/stable/c/f962ca3b020e13d6714f27e8c36fe742441c58d1 ↗
- https://git.kernel.org/stable/c/679d9535aeb15c10bce89c44102004b96624d706 ↗
- https://git.kernel.org/stable/c/3d309b37633c4a847fc149939a2c9576f1aa1065 ↗
- https://git.kernel.org/stable/c/b9fde507355342a2d64225d582dc8b98ff5ecb19 ↗