CVE-2026-89462: power: supply: max17040: propagate register read errors

Published Sep 11, 2026
·
Updated

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

power: supply: max17040: propagate register read errors

max17040getvcell() and max17040getsoc() ignore errors returned by regmapread(). When an I2C transfer fails, the uninitialized register value is converted and reported to userspace as a valid voltage or state of charge. The polling worker can also replace the cached state of charge with the bogus value and emit a spurious change event.

Propagate read errors through the power supply getproperty callback and keep the last valid cached state of charge when polling fails.

Affected Software

1 affected component
Linux Linux kernel

Event History

Sep 11, 2026
CVE Published
via MITRE·07:43 PM
Data Sourced
via MITRE·07:43 PM
Description

Frequently Asked Questions

1

What systems are exposed to this issue?

Systems using the Linux kernel MAX17040 power-supply driver are exposed when the driver reads battery voltage or state of charge through I2C. The issue is triggered by failed I2C transfers during register reads.

2

What is the operational impact of a failed read?

Before the fix, an uninitialized register value could be converted and reported to userspace as a valid battery voltage or state-of-charge value. A polling failure could also overwrite the cached state of charge and generate a spurious power-supply change event.

3

How can affected behavior be identified?

Look for battery voltage or state-of-charge readings that are implausible or inconsistent with prior readings, particularly when I2C transfer failures occur. Spurious power-supply change events during such failures are another indicator.

4

What changes after applying the resolution?

Register read errors are returned through the power-supply get_property callback instead of being reported as valid measurements. When polling fails, the driver retains the last valid cached state of charge rather than replacing it with a bogus value.

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