CVE-2026-64084: hwmon: (pmbus/adm1266) cap PDIO scan in get_multiple at ADM1266_PDIO_NR

Published Jul 19, 2026
·
Updated

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

hwmon: (pmbus/adm1266) cap PDIO scan in getmultiple at ADM1266PDIONR

adm1266gpiogetmultiple() iterates the PDIO portion of the caller-supplied mask using

foreachsetbitfrom(gpionr, mask, ADM1266GPIONR + ADM1266PDIOSTATUS) { ... }

where ADM1266PDIOSTATUS is the PMBus command code (0xE9, i.e. 233), not the number of PDIO pins. The intended upper bound is ADM1266GPIONR + ADM1266PDIONR = 25.

gpiolib hands in a mask sized for gc.ngpio (= 25 bits on this chip), so the iteration walks findnextbit() 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 setbit(gpionr, bits) call that writes past the end of the caller-supplied bits array too -- both out-of-bounds.

Substitute ADM1266PDIONR for the constant so the scan stops at the last real PDIO bit.

Affected Software

12 affected components
Linux Linux kernel
Linux Linux kernel>=5.10<5.10.258
Linux Linux kernel>=5.11<5.15.209
Linux Linux kernel>=5.16<6.1.175
Linux Linux kernel>=6.2<6.6.142
Linux Linux kernel>=6.7<6.12.92
Linux Linux kernel>=6.13<6.18.34
Linux Linux kernel>=6.19<7.0.11
Linux Linux kernel=7.1-rc1
Linux Linux kernel=7.1-rc2
Linux Linux kernel=7.1-rc3
Linux Linux kernel=7.1-rc4

Event History

Jul 19, 2026
CVE Published
via MITRE·03:39 PM
Data Sourced
via MITRE·03:39 PM
DescriptionSeverity
Data Sourced
via NVD·04:17 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which systems are exposed to this issue?

Systems using the Linux kernel ADM1266 PMBus hardware-monitoring driver are exposed when the driver's GPIO get_multiple operation is invoked. The affected path is specific to the ADM1266 device's 25 GPIO/PDIO lines.

2

What does an attacker need to exploit the flaw?

The CVSS vector identifies local access, low attack complexity, and low privileges as required; no user interaction is required. Exploitation depends on reaching the ADM1266 driver's GPIO bulk-read path and on incidental set bits in memory beyond the supplied mask.

3

What is the impact of the out-of-bounds access?

The driver can read beyond the caller-supplied GPIO mask and, if an out-of-range bit appears set, write beyond the caller-supplied output bit array. The reported CVSS metrics rate confidentiality, integrity, and availability impact as high.

4

What change fixes the issue?

The fix limits the PDIO scan using ADM1266_PDIO_NR rather than the PMBus command constant ADM1266_PDIO_STATUS. This stops iteration at the last valid PDIO bit instead of scanning up to 242 bits for a device with 25 GPIO lines.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203