Skip to main content
← All vulnerabilities
CVE-2026-93283

i3c: master: Fix device_register() error path

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.270, 5.15.221, 6.1.188, 6.6.157, 5.5, and 4 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: i3c: master: Fix device_register() error path When device_register() fails in i3c_master_register_new_i3c_devs(), put_device() is called to drop the reference taken by device_register(). That drops the last reference, so the device's release callback i3c_device_release() runs and frees the i3c_device. Two problems follow from that: i3c_device_release() does WARN_ON(i3cdev->desc), so it warns because desc->dev->desc still points back at the descriptor. Clear it before calling put_device(). After put_device() frees the i3c_device, desc->dev is left pointing at freed memory, so clear desc->dev as well. That prevents, for example, i3c_master_unregister_i3c_devs() seeing desc->dev as non-NULL and dereferencing it.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 1832ed55df45f4145335ad992fb83813cdc58b5d · fixed in 5bf498623f8397d45f85f14cd631c5e5a565c2fb; From d48fe8d98171e0fffdeaa8b37ce0a6444bff819b · fixed in 20a2b6df91fd782ef2ff551febef594d0b46a9a7; From 174ae0a3b89e7804e4ea3d31bd83d6e43f39568c · fixed in a14dbdf471001dd0601b0c491184990c178a199c; From e49a51a96b531f1b4bcd8d358e645b6c74ef67e6 · fixed in d22ad96f1a0c89e0ba66a2facc7430f0923919e3; From cab63f64887616e3c4e31cfd8103320be6ebc8d3 · fixed in 7f8e2c4f3704d9774bb26b49b1ad6a60ae57d4a0; From cab63f64887616e3c4e31cfd8103320be6ebc8d3 · fixed in 7ef12e1dd06e442eebf370f6e53c41bd056d0f22; From cab63f64887616e3c4e31cfd8103320be6ebc8d3 · fixed in 6ecf17bf5fe8da51a6e3fc9e03a76898fcc5c6cf; From cab63f64887616e3c4e31cfd8103320be6ebc8d3 · fixed in 74be657d98a8d684c0475f3cbd450ef2a30ffc73; From 5.10.201 · fixed in 5.10.270; From 5.15.139 · fixed in 5.15.221; From 6.1.63 · fixed in 6.1.188; From 6.6.2 · fixed in 6.6.157; From 5.4.261 · fixed in 5.5; From 6.5.12 · fixed in 6.6

  • Linux Linux

    6.7

  • KernelLinux

    fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; fixed in 6.18.52; From 6.13.0 · fixed in 7.2.6

References 8

git.kernel.org