CVE-2026-72142
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
i2c: imx: fix locked bus on SMBus block-read of 0 (atomic)
SMBus 3.1 6.5.7 allows a Block Read byte count of 0, but the atomic (polling) path 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 for this i2c controller.
Reading I2DR to obtain the count likewise arms the next byte on the count > I2C_SMBUS_BLOCK_MAX path, which also returned -EPROTO directly and left the bus held.
Handle both: NACK the in-flight dummy byte (TXAK) and extend msgs->len so the existing last-byte handling emits STOP; the dummy byte is discarded. A count of 0 is a valid empty block read; a count above I2C_SMBUS_BLOCK_MAX is still reported as -EPROTO, but only after the bus has been released.
The interrupt-driven path has the same flaw from a later commit and is fixed separately, as it carries a different Fixes: tag and stable range.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 8e8782c71595a5ad29e234ce6b3d2fce787fb07a < 016ef0f6ca4bc9bf0330ac41bd2ea349759643e3 | affected |
| Linux | Linux | 8e8782c71595a5ad29e234ce6b3d2fce787fb07a < c882e8cc68fb993700dc21fd6e754001e6297934 | affected |
| Linux | Linux | 8e8782c71595a5ad29e234ce6b3d2fce787fb07a < 6d2c973926d0612360693bc559be2ffde836151b | affected |
| Linux | Linux | 8e8782c71595a5ad29e234ce6b3d2fce787fb07a < 60ed00d46616a9232e42ea7a3e3c0273d7cf7543 | affected |
| Linux | Linux | 8e8782c71595a5ad29e234ce6b3d2fce787fb07a < cb2fc37857693b55909fb77dc2c87cfbc1cdc476 | affected |
| Linux | Linux | 3.16 | affected |
| Linux | Linux | 0 < 3.16 | unaffected |
| Linux | Linux | 6.6.148 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.101 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.40 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.5 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/016ef0f6ca4bc9bf0330ac41bd2ea349759643e3
- https://git.kernel.org/stable/c/c882e8cc68fb993700dc21fd6e754001e6297934
- https://git.kernel.org/stable/c/6d2c973926d0612360693bc559be2ffde836151b
- https://git.kernel.org/stable/c/60ed00d46616a9232e42ea7a3e3c0273d7cf7543
- https://git.kernel.org/stable/c/cb2fc37857693b55909fb77dc2c87cfbc1cdc476
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.