CVE-2026-64083

CVE-2026-64083

Medium · published July 19, 2026

CVSS v3.1
5.5
EPSS
0%
Percentile
2.2
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00128 · 2.2th percentile
Published
2026-07-19T20:17Z
Affected products (11)
ProductVersionsFixed in
linux/linux_kernel≥ 5.10, < 5.10.2585.10.258
linux/linux_kernel≥ 5.11, < 5.15.2095.15.209
linux/linux_kernel≥ 5.16, < 6.1.1756.1.175
linux/linux_kernel≥ 6.2, < 6.6.1426.6.142
linux/linux_kernel≥ 6.7, < 6.12.926.12.92
linux/linux_kernel≥ 6.13, < 6.18.346.18.34
linux/linux_kernel≥ 6.19, < 7.0.117.0.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (8)
EPSS history
Timeline
  • 19 JUL 15:39Z
    hwmon: (pmbus/adm1266) reject short block-read responses in the GPIO accessors
    cvelistv5