{"api_version":"1","generated_at":"2026-05-12T22:17:01+00:00","cve":"CVE-2026-43424","urls":{"html":"https://cve.report/CVE-2026-43424","api":"https://cve.report/api/cve/CVE-2026-43424.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-43424","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-43424"},"summary":{"title":"usb: gadget: f_tcm: Fix NULL pointer dereferences in nexus handling","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: f_tcm: Fix NULL pointer dereferences in nexus handling\n\nThe `tpg->tpg_nexus` pointer in the USB Target driver is dynamically\nmanaged and tied to userspace configuration via ConfigFS. It can be\nNULL if the USB host sends requests before the nexus is fully\nestablished or immediately after it is dropped.\n\nCurrently, functions like `bot_submit_command()` and the data\ntransfer paths retrieve `tv_nexus = tpg->tpg_nexus` and immediately\ndereference `tv_nexus->tvn_se_sess` without any validation. If a\nmalicious or misconfigured USB host sends a BOT (Bulk-Only Transport)\ncommand during this race window, it triggers a NULL pointer\ndereference, leading to a kernel panic (local DoS).\n\nThis exposes an inconsistent API usage within the module, as peer\nfunctions like `usbg_submit_command()` and `bot_send_bad_response()`\ncorrectly implement a NULL check for `tv_nexus` before proceeding.\n\nFix this by bringing consistency to the nexus handling. Add the\nmissing `if (!tv_nexus)` checks to the vulnerable BOT command and\nrequest processing paths, aborting the command gracefully with an\nerror instead of crashing the system.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-05-08 15:16:54","updated_at":"2026-05-12 14:10:27"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/d146f27758049fa55ae4c53785a852d3cf7a18d6","name":"https://git.kernel.org/stable/c/d146f27758049fa55ae4c53785a852d3cf7a18d6","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/679d9535aeb15c10bce89c44102004b96624d706","name":"https://git.kernel.org/stable/c/679d9535aeb15c10bce89c44102004b96624d706","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/b9b26d7f3aa288cfa54a7bc68612bab1f153f156","name":"https://git.kernel.org/stable/c/b9b26d7f3aa288cfa54a7bc68612bab1f153f156","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/b9fde507355342a2d64225d582dc8b98ff5ecb19","name":"https://git.kernel.org/stable/c/b9fde507355342a2d64225d582dc8b98ff5ecb19","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/3d309b37633c4a847fc149939a2c9576f1aa1065","name":"https://git.kernel.org/stable/c/3d309b37633c4a847fc149939a2c9576f1aa1065","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/2a2ef846a54a06c33b5c2d4b0d918583e1e7c0b7","name":"https://git.kernel.org/stable/c/2a2ef846a54a06c33b5c2d4b0d918583e1e7c0b7","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/f962ca3b020e13d6714f27e8c36fe742441c58d1","name":"https://git.kernel.org/stable/c/f962ca3b020e13d6714f27e8c36fe742441c58d1","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-43424","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-43424","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c52661d60f636d17e26ad834457db333bd1df494 b9b26d7f3aa288cfa54a7bc68612bab1f153f156 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c52661d60f636d17e26ad834457db333bd1df494 2a2ef846a54a06c33b5c2d4b0d918583e1e7c0b7 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c52661d60f636d17e26ad834457db333bd1df494 d146f27758049fa55ae4c53785a852d3cf7a18d6 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c52661d60f636d17e26ad834457db333bd1df494 f962ca3b020e13d6714f27e8c36fe742441c58d1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c52661d60f636d17e26ad834457db333bd1df494 679d9535aeb15c10bce89c44102004b96624d706 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c52661d60f636d17e26ad834457db333bd1df494 3d309b37633c4a847fc149939a2c9576f1aa1065 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c52661d60f636d17e26ad834457db333bd1df494 b9fde507355342a2d64225d582dc8b98ff5ecb19 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 3.5","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 3.5 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.253 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.167 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.130 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.78 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.19 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.19.9 6.19.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"43424","cve":"CVE-2026-43424","epss":"0.000240000","percentile":"0.070210000","score_date":"2026-05-11","updated_at":"2026-05-12 00:01:17"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/usb/gadget/function/f_tcm.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"b9b26d7f3aa288cfa54a7bc68612bab1f153f156","status":"affected","version":"c52661d60f636d17e26ad834457db333bd1df494","versionType":"git"},{"lessThan":"2a2ef846a54a06c33b5c2d4b0d918583e1e7c0b7","status":"affected","version":"c52661d60f636d17e26ad834457db333bd1df494","versionType":"git"},{"lessThan":"d146f27758049fa55ae4c53785a852d3cf7a18d6","status":"affected","version":"c52661d60f636d17e26ad834457db333bd1df494","versionType":"git"},{"lessThan":"f962ca3b020e13d6714f27e8c36fe742441c58d1","status":"affected","version":"c52661d60f636d17e26ad834457db333bd1df494","versionType":"git"},{"lessThan":"679d9535aeb15c10bce89c44102004b96624d706","status":"affected","version":"c52661d60f636d17e26ad834457db333bd1df494","versionType":"git"},{"lessThan":"3d309b37633c4a847fc149939a2c9576f1aa1065","status":"affected","version":"c52661d60f636d17e26ad834457db333bd1df494","versionType":"git"},{"lessThan":"b9fde507355342a2d64225d582dc8b98ff5ecb19","status":"affected","version":"c52661d60f636d17e26ad834457db333bd1df494","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/usb/gadget/function/f_tcm.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"3.5"},{"lessThan":"3.5","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.253","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.167","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.130","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.78","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.19","versionType":"semver"},{"lessThanOrEqual":"6.19.*","status":"unaffected","version":"6.19.9","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.0","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.253","versionStartIncluding":"3.5","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.167","versionStartIncluding":"3.5","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.130","versionStartIncluding":"3.5","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.78","versionStartIncluding":"3.5","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.19","versionStartIncluding":"3.5","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.19.9","versionStartIncluding":"3.5","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0","versionStartIncluding":"3.5","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: f_tcm: Fix NULL pointer dereferences in nexus handling\n\nThe `tpg->tpg_nexus` pointer in the USB Target driver is dynamically\nmanaged and tied to userspace configuration via ConfigFS. It can be\nNULL if the USB host sends requests before the nexus is fully\nestablished or immediately after it is dropped.\n\nCurrently, functions like `bot_submit_command()` and the data\ntransfer paths retrieve `tv_nexus = tpg->tpg_nexus` and immediately\ndereference `tv_nexus->tvn_se_sess` without any validation. If a\nmalicious or misconfigured USB host sends a BOT (Bulk-Only Transport)\ncommand during this race window, it triggers a NULL pointer\ndereference, leading to a kernel panic (local DoS).\n\nThis exposes an inconsistent API usage within the module, as peer\nfunctions like `usbg_submit_command()` and `bot_send_bad_response()`\ncorrectly implement a NULL check for `tv_nexus` before proceeding.\n\nFix this by bringing consistency to the nexus handling. Add the\nmissing `if (!tv_nexus)` checks to the vulnerable BOT command and\nrequest processing paths, aborting the command gracefully with an\nerror instead of crashing the system."}],"providerMetadata":{"dateUpdated":"2026-05-11T22:24:19.268Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/b9b26d7f3aa288cfa54a7bc68612bab1f153f156"},{"url":"https://git.kernel.org/stable/c/2a2ef846a54a06c33b5c2d4b0d918583e1e7c0b7"},{"url":"https://git.kernel.org/stable/c/d146f27758049fa55ae4c53785a852d3cf7a18d6"},{"url":"https://git.kernel.org/stable/c/f962ca3b020e13d6714f27e8c36fe742441c58d1"},{"url":"https://git.kernel.org/stable/c/679d9535aeb15c10bce89c44102004b96624d706"},{"url":"https://git.kernel.org/stable/c/3d309b37633c4a847fc149939a2c9576f1aa1065"},{"url":"https://git.kernel.org/stable/c/b9fde507355342a2d64225d582dc8b98ff5ecb19"}],"title":"usb: gadget: f_tcm: Fix NULL pointer dereferences in nexus handling","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-43424","datePublished":"2026-05-08T14:21:58.365Z","dateReserved":"2026-05-01T14:12:56.008Z","dateUpdated":"2026-05-11T22:24:19.268Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-05-08 15:16:54","lastModifiedDate":"2026-05-12 14:10:27","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"43424","Ordinal":"1","Title":"usb: gadget: f_tcm: Fix NULL pointer dereferences in nexus handl","CVE":"CVE-2026-43424","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"43424","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: f_tcm: Fix NULL pointer dereferences in nexus handling\n\nThe `tpg->tpg_nexus` pointer in the USB Target driver is dynamically\nmanaged and tied to userspace configuration via ConfigFS. It can be\nNULL if the USB host sends requests before the nexus is fully\nestablished or immediately after it is dropped.\n\nCurrently, functions like `bot_submit_command()` and the data\ntransfer paths retrieve `tv_nexus = tpg->tpg_nexus` and immediately\ndereference `tv_nexus->tvn_se_sess` without any validation. If a\nmalicious or misconfigured USB host sends a BOT (Bulk-Only Transport)\ncommand during this race window, it triggers a NULL pointer\ndereference, leading to a kernel panic (local DoS).\n\nThis exposes an inconsistent API usage within the module, as peer\nfunctions like `usbg_submit_command()` and `bot_send_bad_response()`\ncorrectly implement a NULL check for `tv_nexus` before proceeding.\n\nFix this by bringing consistency to the nexus handling. Add the\nmissing `if (!tv_nexus)` checks to the vulnerable BOT command and\nrequest processing paths, aborting the command gracefully with an\nerror instead of crashing the system.","Type":"Description","Title":"usb: gadget: f_tcm: Fix NULL pointer dereferences in nexus handl"}]}}}