CVE-2026-64083

hwmon: (pmbus/adm1266) reject short block-read responses in the GPIO accessors

MEDIUM
5.5
CVSS Score
Published: July 19, 2026 at 03:39 PM UTC
Updated: September 3, 2026 at 01:04 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.1%

Description

In the Linux kernel, the following vulnerability has been resolved: hwmon: (pmbus/adm1266) reject short block-read responses in the GPIO accessors adm1266_gpio_get() and adm1266_gpio_get_multiple() both compose the pin-status word as pins_status = read_buf[0] + (read_buf[1] << 8); right after i2c_smbus_read_block_data(), guarding only against an error return. A well-behaved device returns 2 bytes for GPIO_STATUS/PDIO_STATUS, but the helper happily reports a 0- or 1-byte response too. If the device returns 0 bytes, both read_buf slots are uninitialized stack memory; if it returns 1 byte, read_buf[1] is. The composed value then flows through set_bit() into the caller's *bits in adm1266_gpio_get_multiple(), or into the return value of adm1266_gpio_get(), and ends up in userspace via gpiolib (sysfs and the char-dev ioctls). That leaks a few bits of kernel stack per request on any device whose firmware glitch, bus error, or hostile slave produces a short block-read response. Add the missing length check to both call sites and surface a short response as -EIO.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.10 ≤ v < 5.10.2585.10 ≤ v < 5.15.2095.10 ≤ v < 6.1.1755.10 ≤ v < 6.12.925.10 ≤ v < 6.18.345.10 ≤ v < 6.6.1425.10 ≤ v < 7.0.115.10 ≤ v < 7.15.11 ≤ v < 5.15.2095.16 ≤ v < 6.1.1756.13 ≤ v < 6.18.346.19 ≤ v < 7.0.116.2 ≤ v < 6.6.1426.7 ≤ v < 6.12.927.1 rc17.1 rc27.1 rc37.1 rc4d98dfad35c38c037b37c4adc99df01da571031a5
Vendor states this is fixed in 64fa9328948ddcc0f7f3c23ea1756c126d9dffac (fixed)
Vendor states this is fixed in a2d1c819348b36fccbbfcf37c5fa7a50a9b4528f (fixed)
Vendor states this is fixed in a7232f68c43ca62f545049b7f5fbfc75137b843b (fixed)
Vendor states this is fixed in ae25cf2ea9ebd06d7ad416647dbdc7b5d0172946 (fixed)
Vendor states this is fixed in c603b6c6840ac0c6285f5eefea0de6242710af21 (fixed)
Vendor states this is fixed in eb3cd9bb590460c6127145cb245be925d23f5232 (fixed)
Vendor states this is fixed in ee4799becf7d2af3778007e22c2e55c4009a49c7 (fixed)
Vendor states this is fixed in fd9196aad9e5a3845cea17de3405ebc700382142 (fixed)
Vendor states this is fixed in 5.10 (unaffected)
Vendor states this is fixed in 5.10.258 (unaffected)
Vendor states this is fixed in 5.15.209 (unaffected)
Vendor states this is fixed in 6.1.175 (unaffected)
Vendor states this is fixed in 6.12.92 (unaffected)
Vendor states this is fixed in 6.18.34 (unaffected)
Vendor states this is fixed in 6.6.142 (unaffected)
Vendor states this is fixed in 7.0.11 (unaffected)
Vendor states this is fixed in 7.1 (unaffected)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card