Description
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.
Published: 2026-09-24
Score: 7.0 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Apply Patch
AI Analysis

Impact

The Linux kernel i3c master driver performed incorrect reference counting when device_register() failed in i3c_master_register_new_i3c_devs(). The code called put_device() after obtaining a reference to an i3c_device, which freed the device prematurely. Because i3c_device_release() was executed before the reference counters were cleared, pointers to the device's descriptor pointed to freed memory. Subsequent code paths, such as i3c_master_unregister_i3c_devs(), could dereference these dangling pointers, causing a kernel crash or panic. The flaw illustrates memory corruption (CWE-825).

Affected Systems

All Linux kernel builds that include the i3c master driver without the update that fixes the reference counting bug. The issue exists in any distribution or kernel release where the unpatched module is loaded, regardless of specific version or vendor.

Risk and Exploitability

The CVSS score of 7.0 indicates high severity, while the EPSS score of <1% shows a very low likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog. Based on the description, it is inferred that an attacker would need to trigger the failure case in device_register()—for example by interacting with the i3c interface—before the kernel dereferences the freed object. No remote trigger is documented, so the exploitation path is presumed to be local or require control over the i3c subsystem.

Generated by OpenCVE AI on October 1, 2026 at 22:16 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel update that contains the i3c master driver fix
  • If an immediate kernel update is not feasible, temporarily disable or blacklist the i3c master driver to avoid the crash until the patch is applied
  • After implementing the update or disabling the driver, regularly review system logs for any i3c‑related kernel warnings or panics to ensure the issue is fully resolved

Generated by OpenCVE AI on October 1, 2026 at 22:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DLA Debian DLA DLA-4841-1 linux security update
Debian DSA Debian DSA DSA-6528-1 linux security update
Ubuntu USN Ubuntu USN USN-8961-1 Linux kernel vulnerabilities
History

Thu, 01 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-415
CWE-416

Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Moderate


Fri, 25 Sep 2026 09:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-415
CWE-416

Thu, 24 Sep 2026 16:00:00 +0000

Type Values Removed Values Added
Description 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.
Title i3c: master: Fix device_register() error path
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:08:37.502Z

Reserved: 2026-09-17T16:02:15.098Z

Link: CVE-2026-93283

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T16:17:25.690

Modified: 2026-10-19T10:17:19.927

Link: CVE-2026-93283

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-24T00:00:00Z

Links: CVE-2026-93283 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T22:30:14Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference