In the Linux kernel, the following vulnerability has been resolved: usb: gadget: udc: Fix use-after-free in gadget_match_driver The udc structure… (CVE-2026-64346)
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: udc: Fix use-after-free in gadget_match_driver The udc structure acts as the management structure for the gadget, but their lifecycles are decoupled. A race condition exists where usb_del_gadget() frees the udc memory (e.g., via mode-switch work) while gadget_match_driver() concurrently accesses the freed udc memory (e.g., via configfs), causing a Use-After-Free (UAF) that triggers a NULL pointer dereference when the freed memory is zeroed: [39430.908615][ T1171] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 [39430.911397][ T1171] pc : __pi_strcmp+0x20/0x140 [39430.911441][ T1171] lr : gadget_match_driver+0x34/0x60 ... [39430.911890][ T1171] usb_gadget_register_driver_owner+0x50/0xf8 [39430.911910][ T1171] gadget_dev_desc_UDC_store+0xf4/0x140 [39430.931308][ T1171] configfs_write_iter+0xec/0x134 [39430.957058][ T1171] Workqueue: events_freezable __dwc3_set_mode [39430.957287][ T1171] dwc3_gadget_exit+0x34/0x8c [39430.957304][ T1171] __dwc3_set_mode+0xc0/0x664 Fix this by ensuring the udc structure remains allocated until the gadget is released. To achieve this, introduce a new usb_gadget_release() routine to the core. When the gadget is added, usb_add_gadget() stores the gadget's release routine in the udc structure and takes a reference to the udc. When the gadget is released, usb_gadget_release() drops the reference to the udc and then calls the gadget's release routine.
AI Analysis
Technical Summary
The Linux kernel's USB gadget driver (udc) had a use-after-free vulnerability due to a race condition between usb_del_gadget() freeing the udc structure and gadget_match_driver() accessing it concurrently. This caused a NULL pointer dereference when the freed memory was zeroed. The vulnerability was fixed by introducing a usb_gadget_release() routine that manages the lifecycle of the udc structure, ensuring it remains allocated until the gadget is released and references are properly managed.
Potential Impact
This vulnerability can cause kernel NULL pointer dereferences, leading to potential kernel crashes or denial of service. There is no indication of privilege escalation or code execution from the provided data.
Mitigation Recommendations
A fix is available that introduces a new usb_gadget_release() routine to manage the udc structure lifecycle properly. Users should apply the official Linux kernel update that includes this fix. Patch status is not explicitly confirmed in the provided data; check the vendor advisory for current remediation guidance.
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: udc: Fix use-after-free in gadget_match_driver The udc structure… (CVE-2026-64346)
Description
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: udc: Fix use-after-free in gadget_match_driver The udc structure acts as the management structure for the gadget, but their lifecycles are decoupled. A race condition exists where usb_del_gadget() frees the udc memory (e.g., via mode-switch work) while gadget_match_driver() concurrently accesses the freed udc memory (e.g., via configfs), causing a Use-After-Free (UAF) that triggers a NULL pointer dereference when the freed memory is zeroed: [39430.908615][ T1171] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 [39430.911397][ T1171] pc : __pi_strcmp+0x20/0x140 [39430.911441][ T1171] lr : gadget_match_driver+0x34/0x60 ... [39430.911890][ T1171] usb_gadget_register_driver_owner+0x50/0xf8 [39430.911910][ T1171] gadget_dev_desc_UDC_store+0xf4/0x140 [39430.931308][ T1171] configfs_write_iter+0xec/0x134 [39430.957058][ T1171] Workqueue: events_freezable __dwc3_set_mode [39430.957287][ T1171] dwc3_gadget_exit+0x34/0x8c [39430.957304][ T1171] __dwc3_set_mode+0xc0/0x664 Fix this by ensuring the udc structure remains allocated until the gadget is released. To achieve this, introduce a new usb_gadget_release() routine to the core. When the gadget is added, usb_add_gadget() stores the gadget's release routine in the udc structure and takes a reference to the udc. When the gadget is released, usb_gadget_release() drops the reference to the udc and then calls the gadget's release routine.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Linux kernel's USB gadget driver (udc) had a use-after-free vulnerability due to a race condition between usb_del_gadget() freeing the udc structure and gadget_match_driver() accessing it concurrently. This caused a NULL pointer dereference when the freed memory was zeroed. The vulnerability was fixed by introducing a usb_gadget_release() routine that manages the lifecycle of the udc structure, ensuring it remains allocated until the gadget is released and references are properly managed.
Potential Impact
This vulnerability can cause kernel NULL pointer dereferences, leading to potential kernel crashes or denial of service. There is no indication of privilege escalation or code execution from the provided data.
Mitigation Recommendations
A fix is available that introduces a new usb_gadget_release() routine to manage the udc structure lifecycle properly. Users should apply the official Linux kernel update that includes this fix. Patch status is not explicitly confirmed in the provided data; check the vendor advisory for current remediation guidance.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-8737-2w76-fpfm
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-64346"]
- Ecosystems
- []
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a65420c9c2644c7f8085390
Added to database: 07/25/2026, 23:09:00 UTC
Last enriched: 07/25/2026, 23:33:13 UTC
Last updated: 09/07/2026, 10:52:10 UTC
Views: 49
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.