Description
In the Linux kernel, the following vulnerability has been resolved:

i2c: imx: fix locked bus on SMBus block-read of 0 (IRQ)

SMBus 3.1 6.5.7 allows a Block Read byte count of 0, but the
interrupt-driven block-read state machine rejects it as -EPROTO. Worse,
it returns without a NACK+STOP: the next receive cycle has already
started, so the target keeps holding SDA and the bus stays stuck until a
power cycle of this i2c controller.

Accept count=0: NACK the in-flight dummy byte (TXAK) and set msg->len to
2 so i2c_imx_isr_read_continue() emits STOP via its normal last-byte
path. The dummy byte is discarded; block-read callers only consume
buf[0..count-1].

Reading I2DR has likewise already armed the next byte on the
count > I2C_SMBUS_BLOCK_MAX error path, so NACK it (TXAK) before aborting
with -EPROTO; otherwise the failing transfer's STOP cannot complete and
the bus stays held.

The atomic path regressed earlier (v3.16) and is fixed separately; this
patch covers only the v6.13 state-machine rework.
Published: 2026-08-15
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel i.MX I2C driver, performing a SMBus block-read with a byte count of zero can cause the I²C bus to become permanently locked. This issue is an example of CWE-413, improper state machine control. The driver’s interrupt‑driven state machine fails to issue a STOP condition, leaving the target device holding the data line (SDA) and preventing any further communication on that bus. This can render I²C‑connected peripherals inoperable and disrupt system components that depend on them.

Affected Systems

The flaw exists in Linux kernels that include the imx I²C driver without the fix committed in 07fd9385f0d87dff4b34f355f68adf701080cb24. The affected code is part of the v6.13 state‑machine rework; prior regressions also exist in the v3.16 path. Systems that run these kernels on i.MX hardware and perform SMBus block-read operations are potentially impacted.

Risk and Exploitability

The CVSS score of 7.5 coupled with an EPSS score of less than 1% indicates moderate severity but low probability of exploitation. The vulnerability is not catalogued in CISA KEV. Exploitation would require an attacker to trigger a block-read with a zero byte count, which typically implies local privileged access or control over code that performs the SMBus operation; this requirement is inferred and not explicitly stated in the advisory. While the vulnerability cannot be used for code execution or data exfiltration, it can cause a denial of service that affects system availability and reliability. The weakness is classified as CWE-413, improper state machine control.

Generated by OpenCVE AI on August 22, 2026 at 11:39 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the commit 07fd9385f0d87dff4b34f355f68adf701080cb24 or later, which fixes the CWE-413 state‑machine failure.
  • Modify any drivers or applications that perform SMBus block reads to ensure the byte count is greater than zero, preventing the buggy code path from being exercised; this mitigates the improper state machine control flaw identified by CWE-413.
  • If a kernel upgrade cannot be performed immediately, temporarily disable the affected I²C controller or stop interacting with the device until the patch is applied to avoid bus lockup.

Generated by OpenCVE AI on August 22, 2026 at 11:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 10:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-673
CWE-675

Wed, 19 Aug 2026 00:15:00 +0000


Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Sat, 15 Aug 2026 09:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-673
CWE-675

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: i2c: imx: fix locked bus on SMBus block-read of 0 (IRQ) SMBus 3.1 6.5.7 allows a Block Read byte count of 0, but the interrupt-driven block-read state machine rejects it as -EPROTO. Worse, it returns without a NACK+STOP: the next receive cycle has already started, so the target keeps holding SDA and the bus stays stuck until a power cycle of this i2c controller. Accept count=0: NACK the in-flight dummy byte (TXAK) and set msg->len to 2 so i2c_imx_isr_read_continue() emits STOP via its normal last-byte path. The dummy byte is discarded; block-read callers only consume buf[0..count-1]. Reading I2DR has likewise already armed the next byte on the count > I2C_SMBUS_BLOCK_MAX error path, so NACK it (TXAK) before aborting with -EPROTO; otherwise the failing transfer's STOP cannot complete and the bus stays held. The atomic path regressed earlier (v3.16) and is fixed separately; this patch covers only the v6.13 state-machine rework.
Title i2c: imx: fix locked bus on SMBus block-read of 0 (IRQ)
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-08-17T05:40:49.962Z

Reserved: 2026-08-09T03:40:39.908Z

Link: CVE-2026-72141

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:21:31.717

Modified: 2026-08-17T06:18:14.070

Link: CVE-2026-72141

cve-icon Redhat

Severity : Low

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72141 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T11:45:03Z

Weaknesses
  • CWE-413

    Improper Resource Locking