usb: typec: ucsi: glink: fix use-after-free of ucsi on remove
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.12.113, 6.18.56, 7.2.10
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: usb: typec: ucsi: glink: fix use-after-free of ucsi on remove The pmic_glink client is released by the devres cleanup, which runs after pmic_glink_ucsi_remove() has returned, so its notification callbacks can queue work until then. Work that runs after ucsi_unregister() has been called touches freed state: it dereferences the connector array that ucsi_unregister() freed, or registers and unregisters the instance a second time. Disable both work items with disable_work_sync() before unregistering, and unregister only if the instance is still registered. This issue was found by an in-house static analysis tool.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 62b5412b1f4afab27d8df90ddcabb8e1e11a00ad · fixed in 432b58cd959e594909a581b4974396cdbc9d4ca1; From 62b5412b1f4afab27d8df90ddcabb8e1e11a00ad · fixed in 41934f92e7a54d4080ac0b17aacc83224946785c; From 62b5412b1f4afab27d8df90ddcabb8e1e11a00ad · fixed in ee8577de01c6b6c7dd1d76b52242c54d37a989f4; From 62b5412b1f4afab27d8df90ddcabb8e1e11a00ad · fixed in 63b269ec537dc0fd26d0bd64872c26860d108c9d
- Linux Linux
6.4
- KernelLinux
From 6.4.0 · fixed in 6.12.113; From 6.13.0 · fixed in 6.18.56; From 6.19.0 · fixed in 7.2.10