---
id: CVE-2025-23147
title: 'i3c: Add NULL pointer check in i3c_master_queue_ibi()'
summary: |-
  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 ma…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 <
    1b54faa5f47fa7c642179744aeff03f0810dc62e
  - >-
    Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 <
    09359e7c8751961937cb5fc50220969b0a4e1058
  - >-
    Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 <
    3ba402610843d7d15c7f3966a461deeeaff7fba4
  - >-
    Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 <
    d83b0c03ef8fbea2f03029a1cc1f5041f0e1d47f
  - >-
    Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 <
    6871a676aa534e8f218279672e0445c725f81026
  - >-
    Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 <
    e6bba328578feb58c614c11868c259b40484c5fa
  - >-
    Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 <
    fe4a4fc179b7898055555a11685915473588392e
  - >-
    Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 <
    ff9d61db59bb27d16d3f872bff2620d50856b80c
  - >-
    Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 <
    bd496a44f041da9ef3afe14d1d6193d460424e91
  - Linux 5.0
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T20:39:36.546486Z'
published: '2025-05-01'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T20:41:52.080Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-23147'
references:
  - url: 'https://git.kernel.org/stable/c/1b54faa5f47fa7c642179744aeff03f0810dc62e'
  - url: 'https://git.kernel.org/stable/c/09359e7c8751961937cb5fc50220969b0a4e1058'
  - url: 'https://git.kernel.org/stable/c/3ba402610843d7d15c7f3966a461deeeaff7fba4'
  - url: 'https://git.kernel.org/stable/c/d83b0c03ef8fbea2f03029a1cc1f5041f0e1d47f'
  - url: 'https://git.kernel.org/stable/c/6871a676aa534e8f218279672e0445c725f81026'
  - url: 'https://git.kernel.org/stable/c/e6bba328578feb58c614c11868c259b40484c5fa'
  - url: 'https://git.kernel.org/stable/c/fe4a4fc179b7898055555a11685915473588392e'
  - url: 'https://git.kernel.org/stable/c/ff9d61db59bb27d16d3f872bff2620d50856b80c'
  - url: 'https://git.kernel.org/stable/c/bd496a44f041da9ef3afe14d1d6193d460424e91'
tags:
  - cve.org
epss: 0.00214
epssPercentile: 0.11806
ingestedAt: '2026-11-05T22:38:31.864Z'
---

## Overview

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.

## Affected

- `Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 < 1b54faa5f47fa7c642179744aeff03f0810dc62e`
- `Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 < 09359e7c8751961937cb5fc50220969b0a4e1058`
- `Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 < 3ba402610843d7d15c7f3966a461deeeaff7fba4`
- `Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 < d83b0c03ef8fbea2f03029a1cc1f5041f0e1d47f`
- `Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 < 6871a676aa534e8f218279672e0445c725f81026`
- `Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 < e6bba328578feb58c614c11868c259b40484c5fa`
- `Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 < fe4a4fc179b7898055555a11685915473588392e`
- `Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 < ff9d61db59bb27d16d3f872bff2620d50856b80c`
- `Linux >= 3a379bbcea0af6280e1ca0d1edfcf4e68cde6ee0 < bd496a44f041da9ef3afe14d1d6193d460424e91`
- `Linux 5.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
