CVE-2026-64084

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

State
Published
Severity
7.8 High
Published
Jul 19, 2026
Updated
Aug 5, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before d0593e15fdeb56048a72c5c6e720f702759d0ccdAffected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before 17cee2f59029039416e8f6303050038eb59ba149Affected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before 299efd14c2eda7e5fd40025e54addd4151a01081Affected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before 4d1da9a6be5a8156c532d571c2ed237169f99244Affected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before b96c7f0bc0713dc6403912f6527d4ff9168d6fe6Affected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before fa7ca363069a70b0d1aa51e8892e3095fe2ac1ecAffected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before 2aef8f08c479f4cbc83e1e6b19d1c94d4dd24f17Affected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before d7834d92251baade796812876e95555e2066fa9fAffected
LinuxLinux
  • 5.10Affected
  • before 5.10Not affected
  • 5.10.258 through 5.10.*Not affected
  • 5.15.209 through 5.15.*Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.142 through 6.6.*Not affected
  • 6.12.92 through 6.12.*Not affected
  • 6.18.34 through 6.18.*Not affected
  • 7.0.11 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.