CVE-2026-80711: power: supply: max17040: handle missing status supplier
In the Linux kernel, the following vulnerability has been resolved:
power: supply: max17040: handle missing status supplier
MAX17040 does not report charger state itself, so the driver forwards POWERSUPPLYPROPSTATUS to a supplier power supply. If no supplier is registered, powersupplygetpropertyfromsupplier() returns -ENODEV and leaves the output value untouched.
max17040getproperty() currently ignores that error and returns success, so userspace can read an uninitialized status value from the battery power supply. This happens on systems that use the fuel gauge without a charger supplier relationship in firmware.
Return POWERSUPPLYSTATUSUNKNOWN when no supplier provides STATUS, and propagate other supplier lookup errors.
Affected Software
Event History
Frequently Asked Questions
Which systems are affected by this condition?
Systems using the MAX17040 fuel-gauge driver without a charger supplier relationship defined in firmware can encounter it. The issue occurs when userspace requests the battery power supply STATUS property and no supplier is registered.
What does userspace observe when the charger-status supplier is missing?
The driver can report an uninitialized STATUS value because it ignores the -ENODEV result from the supplier property lookup. The resolved behavior reports POWER_SUPPLY_STATUS_UNKNOWN when no supplier provides STATUS.
How are other supplier lookup failures handled by the resolved code?
Errors other than the missing-supplier condition are propagated rather than being treated as a successful property read.