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

CVE-2026-64329

Affected Products

Linux