CVE-2026-98758: usb: typec: ucsi: glink: fix use-after-free of ucsi on remove
In the Linux kernel, the following vulnerability has been resolved:
usb: typec: ucsi: glink: fix use-after-free of ucsi on remove
The pmicglink client is released by the devres cleanup, which runs after pmicglinkucsiremove() has returned, so its notification callbacks can queue work until then. Work that runs after ucsiunregister() has been called touches freed state: it dereferences the connector array that ucsiunregister() freed, or registers and unregisters the instance a second time.
Disable both work items with disableworksync() before unregistering, and unregister only if the instance is still registered.
This issue was found by an in-house static analysis tool.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Operational
Disable both work items with disable_work_sync() before unregistering the pmic_glink UCSI instance.