CVE-2026-64084CWE-787

CVE-2026-64084

High · published July 19, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
2.9
In the wild
Unconfirmed
What it is

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

hwmon: (pmbus/adm1266) cap PDIO scan in get_multiple at ADM1266_PDIO_NR

adm1266_gpio_get_multiple() iterates the PDIO portion of the

caller-supplied mask using

for_each_set_bit_from(gpio_nr, mask,

ADM1266_GPIO_NR + ADM1266_PDIO_STATUS) {

...

}

where ADM1266_PDIO_STATUS is the PMBus command code (0xE9, i.e. 233),

not the number of PDIO pins. The intended upper bound is

ADM1266_GPIO_NR + ADM1266_PDIO_NR = 25.

gpiolib hands in a mask sized for gc.ngpio (= 25 bits on this chip),

so the iteration walks find_next_bit() up to 242, reading up to 217

extra bits (a handful of unsigned-long words: four on 64-bit, seven

on 32-bit) of whatever lives past the end of the mask in the

caller's stack. Any incidental set bit in that range then drives a

set_bit(gpio_nr, bits) call that writes past the end of the

caller-supplied bits array too -- both out-of-bounds.

Substitute ADM1266_PDIO_NR for the constant so the scan stops at the

last real PDIO bit.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00139 · 2.9th percentile
Weakness
CWE-787 · Out-of-bounds Write
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) cap PDIO scan in get_multiple at ADM1266_PDIO_NR
    cvelistv5