CVE-2026-80954
nicheUnlocked dev->desc dereference in Linux kernel i3c subsystem enables local kernel race
The Linux kernel's i3c subsystem contains a race condition in i3c_device_get_supported_xfer_mode(), which dereferences dev->desc without holding the required bus->lock. Because dev->desc can be freed or altered concurrently (for example during device hot-removal or re-enumeration on the I3C bus), a local attacker with low privileges who can trigger this code path while the descriptor changes could cause a use-after-free or invalid dereference, resulting in kernel memory corruption with high impact to confidentiality, integrity, and availability (CVSS 7.8). The upstream fix removes the unlocked dereference by using dev->bus, which is valid for the device's lifetime. Only systems whose kernels include the I3C subsystem and whose drivers actually call this API (primarily embedded devices using the MIPI I3C bus) are exposed to the vulnerable path. No public proof of concept is known and the flaw is not listed in CISA's KEV catalog.
What to do: Update to a kernel release containing the fix, which replaces the unlocked dev->desc dereference with a read of dev->bus. If immediate patching is not possible, determine actual exposure by checking whether your kernel enables the I3C subsystem (CONFIG_I3C) and whether any loaded drivers call i3c_device_get_supported_xfer_mode() — systems without I3C hardware or such drivers are not practically reachable. Additionally, restrict local untrusted shell/device access and monitor kernel logs for oopses or crashes originating in i3c code paths.
| Linux kernel | All kernel versions containing the vulnerable i3c_device_get_supported_xfer_mode() implementation prior to the upstream fix commit (the advisory does not specif |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
In the Linux kernel, the following vulnerability has been resolved: i3c: Fix unlocked dereference of dev->desc in i3c_device_get_supported_xfer_mode() i3c_device_get_supported_xfer_mode() uses dev->desc to obtain the master controller. However, dev->desc must not be dereferenced unless bus->lock is held, and this function does not take that lock. The function only needs access to the master controller associated with the device's bus. Use dev->bus instead, which is always valid for the lifetime of the device and does not require dereferencing dev->desc.
- Vector
- CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
In the news0 stories
No ingested article mentions this CVE yet.