high · CVSS v3 7.1
CVE-2026-98758
A use‑after‑free in the Linux kernel’s UCSI glink USB‑Type‑C subsystem can lead to memory corruption when a device is removed. The flaw occu
Overview
A use‑after‑free in the Linux kernel’s UCSI glink USB‑Type‑C subsystem can lead to memory corruption when a device is removed. The flaw occurs during devres cleanup after ucsi_unregister, allowing callbacks to access freed state. It is relevant to all Linux kernel versions that ship the affected code.
Description
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.
Impact
The vulnerability can allow an attacker to execute arbitrary code with kernel privileges, potentially compromising system integrity and confidentiality. It may also cause a denial of service by crashing the kernel during device removal. Defenders should consider the risk when devices are exposed to untrusted USB traffic.
Remediation
Apply the latest kernel update that patches the UCSI glink use‑after‑free. If an update is not immediately available, disable the pending work items with disable_work_sync() before unregistering and ensure ucsi_unregister() is only called when the instance is still registered. Verify that devres cleanup order is correct.
Risk context
Severity is high with a CVSS v3 score of 7.1. No EPSS data is available, but the flaw is exploitable in kernel code and should be addressed promptly.
Affected products
- Linux kernel
- Linux-based embedded devices
- USB‑Type‑C controllers
- UCSI glink implementations
Scores
- Severity
- high
- CVSS v2
- 5.6
- CVSS v3
- 7.1
- CVSS v4
- —
- EPSS
- —