CVE-2026-64329: Linux kernel · usb: typec: ucsi: ccg: Fix use-after-free of ucsi on remove
Affects Linux kernelSource CVE Database V5
Not known to be exploited · fixed in f5c772b76bbd95de8be51cf849c6098f6af6fcf9 : update Linux kernel when convenient.
Data as of 6 Nov 2026, 17:19 UTC
Rated by Threat Radar · No CVSS score from NVD or the CNA
Thin evidence
One scorer or none- CISA SSVC
- Exploitation
- No evidence of active exploitation and no public proof of concept
- Automatable
- Attackers cannot reliably automate steps 1–4 of the kill chain
- Technical impact
- Limited control over the software or limited information exposure
CISA SSVC assessment, 2026-11-06.
- Patch
- Available – fixed in f5c772b76bbd95de8be51cf849c6098f6af6fcf9, f1adeb1ff8bef1467d6961059810795d02bbad5d, dbb500bad02146b388041877574829016591ddc8 +5
Exploitation evidence
Disclosed: evidence found.
CVE published 25 Jul 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 6 Nov 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
Description
In the Linux kernel, the following vulnerability has been resolved: usb: typec: ucsi: ccg: Fix use-after-free of ucsi on remove The threaded IRQ handler ccg_irq_handler() calls ucsi_notify_common(), which on a connector-change event calls ucsi_connector_change() and schedules connector work. In ucsi_ccg_remove(), ucsi_destroy() frees uc->ucsi (kfree) before free_irq() is called, so a handler invocation already in flight may access the freed object after ucsi_destroy(). CPU 0 (remove) | CPU 1 (threaded IRQ) ucsi_destroy(uc->ucsi) | ccg_irq_handler() kfree(ucsi) // FREE | ucsi_notify_common(uc->ucsi) // USE Move free_irq() before ucsi_destroy() in the remove path. It is kept after ucsi_unregister(): ucsi_unregister() cancels connector work whose handler issues GET_CONNECTOR_STATUS through ucsi_send_command_common(), which waits for a completion that is signalled from the IRQ handler, so the IRQ must stay active until that work has been cancelled. The probe error path already orders free_irq() before ucsi_destroy(). This bug was found by static analysis.
References
- git.kernel.org/stable/c/f1adeb1ff8bef1467d6961059810795d02bbad5d (opens in a new tab)
- git.kernel.org/stable/c/99381e762273a2410a3f0216000be32b013c0ea9 (opens in a new tab)
- git.kernel.org/stable/c/1a160076d3d0dcd4a98a4599ad96eec0790b099b (opens in a new tab)
- git.kernel.org/stable/c/c32df11147822d22facee8fa30c2e8971d12f426 (opens in a new tab)
- git.kernel.org/stable/c/86c9ee928c4a370e323e432aaf8dca79c4ba7c85 (opens in a new tab)
- git.kernel.org/stable/c/f5c772b76bbd95de8be51cf849c6098f6af6fcf9 (opens in a new tab)
- git.kernel.org/stable/c/dbb500bad02146b388041877574829016591ddc8 (opens in a new tab)
- git.kernel.org/stable/c/1f0bdc2884b67de337215079bba166df0cdf4ac5 (opens in a new tab)