What’s Vulnerable › Vulnerabilities
CVE-2024-46691: usb: typec: ucsi: Move unregister out of atomic section
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-09-13 · updated 2026-06-17
- Weakness: CWE-476
Description
In the Linux kernel, the following vulnerability has been resolved: usb: typec: ucsi: Move unregister out of atomic section Commit '9329933699b3 ("soc: qcom: pmic_glink: Make client-lock non-sleeping")' moved the pmic_glink client list under a spinlock, as it is accessed by the rpmsg/glink callback, which in turn is invoked from IRQ context. This means that ucsi_unregister() is now called from atomic context, which isn't feasible as it's expecting a sleepable context. An effort is under way to get GLINK to invoke its callbacks in a sleepable context, but until then lets schedule the unregistration. A side effect of this is that ucsi_unregister() can now happen after the remote processor, and thereby the communication link with it, is gone. pmic_glink_send() is amended with a check to avoid the resulting NULL pointer dereference. This does however result in the user being informed about this error by the following entry in the kernel log: ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: failed to send UCSI write request: -5
Affected products
- Linux kernel: from 6.10 before 6.10.8; 6.11-rc1, 6.11-rc2, 6.11-rc3, 6.11-rc4, 6.11-rc5 — fixed in 6.10.8
How to fix
Upgrade to a fixed version: Linux kernel 6.10.8. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/095b0001aefddcd9361097c971b7debc84e72714
- https://git.kernel.org/stable/c/11bb2ffb679399f99041540cf662409905179e3a
- https://git.kernel.org/stable/c/1e3769aa0946c2b6e509c06d7a0aa9b955eaef9e
Get alerted when CVE-2024-46691 or the next vulnerability affects your stack