CVE-2025-23147: Linux kernel · i3c: Add NULL pointer check in i3c_master_queue_ibi()
Source GCVE Database
Not known to be exploited · CVSS 5.5 Medium.
Data as of 4 Nov 2026, 17:16 UTC
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 1 May 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 4 Nov 2026.
Description
In the Linux kernel, the following vulnerability has been resolved: i3c: Add NULL pointer check in i3c_master_queue_ibi() The I3C master driver may receive an IBI from a target device that has not been probed yet. In such cases, the master calls `i3c_master_queue_ibi()` to queue an IBI work task, leading to "Unable to handle kernel read from unreadable memory" and resulting in a kernel panic. Typical IBI handling flow: 1. The I3C master scans target devices and probes their respective drivers. 2. The target device driver calls `i3c_device_request_ibi()` to enable IBI and assigns `dev->ibi = ibi`. 3. The I3C master receives an IBI from the target device and calls `i3c_master_queue_ibi()` to queue the target device driver’s IBI handler task. However, since target device events are asynchronous to the I3C probe sequence, step 3 may occur before step 2, causing `dev->ibi` to be `NULL`, leading to a kernel panic. Add a NULL pointer check in `i3c_master_queue_ibi()` to prevent accessing an uninitialized `dev->ibi`, ensuring stability.
References
- nvd.nist.gov/vuln/detail/CVE-2025-23147 (opens in a new tab)
- git.kernel.org/stable/c/09359e7c8751961937cb5fc50220969b0a4e1058 (opens in a new tab)
- git.kernel.org/stable/c/1b54faa5f47fa7c642179744aeff03f0810dc62e (opens in a new tab)
- git.kernel.org/stable/c/3ba402610843d7d15c7f3966a461deeeaff7fba4 (opens in a new tab)
- git.kernel.org/stable/c/6871a676aa534e8f218279672e0445c725f81026 (opens in a new tab)
- git.kernel.org/stable/c/bd496a44f041da9ef3afe14d1d6193d460424e91 (opens in a new tab)
- git.kernel.org/stable/c/d83b0c03ef8fbea2f03029a1cc1f5041f0e1d47f (opens in a new tab)
- git.kernel.org/stable/c/e6bba328578feb58c614c11868c259b40484c5fa (opens in a new tab)
- git.kernel.org/stable/c/fe4a4fc179b7898055555a11685915473588392e (opens in a new tab)
- git.kernel.org/stable/c/ff9d61db59bb27d16d3f872bff2620d50856b80c (opens in a new tab)
- lists.debian.org/debian-lts-announce/2025/05/msg00030.html (opens in a new tab)
- lists.debian.org/debian-lts-announce/2025/05/msg00045.html (opens in a new tab)