PT-2026-64550 · Linux · Linux
CVE-2026-64329
·
Published
2026-07-25
·
Updated
2026-07-25
None
No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
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.
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Linux