CVE-2026-64083

hwmon: (pmbus/adm1266) reject short block-read responses in the GPIO accessors

State
Published
Severity
Not scored
Published
Jul 19, 2026
Updated
Jul 19, 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) 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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before fd9196aad9e5a3845cea17de3405ebc700382142Affected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before ee4799becf7d2af3778007e22c2e55c4009a49c7Affected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before c603b6c6840ac0c6285f5eefea0de6242710af21Affected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before a2d1c819348b36fccbbfcf37c5fa7a50a9b4528fAffected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before ae25cf2ea9ebd06d7ad416647dbdc7b5d0172946Affected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before eb3cd9bb590460c6127145cb245be925d23f5232Affected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before 64fa9328948ddcc0f7f3c23ea1756c126d9dffacAffected
  • d98dfad35c38c037b37c4adc99df01da571031a5 to before a7232f68c43ca62f545049b7f5fbfc75137b843bAffected
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.