CVE-2026-64084

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

HIGH
7.8
CVSS Score
Published: July 19, 2026 at 03:39 PM UTC
Updated: September 3, 2026 at 12:54 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
HIGH7.8
Exploit prediction
EPSS 0.1%

Description

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.

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 17cee2f59029039416e8f6303050038eb59ba149 (fixed)
Vendor states this is fixed in 299efd14c2eda7e5fd40025e54addd4151a01081 (fixed)
Vendor states this is fixed in 2aef8f08c479f4cbc83e1e6b19d1c94d4dd24f17 (fixed)
Vendor states this is fixed in 4d1da9a6be5a8156c532d571c2ed237169f99244 (fixed)
Vendor states this is fixed in b96c7f0bc0713dc6403912f6527d4ff9168d6fe6 (fixed)
Vendor states this is fixed in d0593e15fdeb56048a72c5c6e720f702759d0ccd (fixed)
Vendor states this is fixed in d7834d92251baade796812876e95555e2066fa9f (fixed)
Vendor states this is fixed in fa7ca363069a70b0d1aa51e8892e3095fe2ac1ec (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

7.8HIGHLinux
Vector?

Quick Info

StatusANALYZED
CWE
CWE-787

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