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

power: supply: max17040: synchronize work cancellation on suspend

max17040_work() requeues itself after every poll. cancel_delayed_work()
only cancels a pending instance and does not wait for a callback that is
already running.

If system suspend races with the polling callback, the callback can
continue accessing the fuel gauge and requeue itself after the suspend
callback returns.

Use cancel_delayed_work_sync() to ensure polling is quiesced before
suspend completes.
Published: 2026-09-11
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via Race Condition
Action: Update Kernel
AI Analysis

Impact

A race condition exists in the Linux kernel driver for the MAX17040 fuel gauge where the work routine requeues itself after each polling interval. The driver uses cancel_delayed_work() to cancel pending work, but this does not wait for a currently executing callback. When the system enters suspend, the polling callback can still run and, after the suspend callback returns, requeue itself to continue accessing the fuel gauge. This oversight where power management may be in transition, potentially causing incorrect reads, data corruption, or a crash. The weakness is a classic race condition (CWE‑821).

Affected Systems

The vulnerability affects all Linux kernel versions that include the MAX17040 driver code without the synchronization fix. No specific version range is listed, so any kernel build that contains the affected driver path is potentially impacted. Devices that use the MAX17040 fuel gauge, such as certain embedded boards or laptops, are the most likely platforms to experience this issue.

Risk and Exploitability

The CVSS score of 5.5 denotes moderate severity, while the EPSS score of <1% indicates a very low but non‑zero probability; the vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is local: an attacker would need the ability to trigger or control suspend‑resume cycles while the driver is active, which normally requires local privilege or the ability to affect power management from user space. No public remote exploitation has been documented, and exploitation would be limited to environments where the attacker can induce the race condition before the system suspends.

Generated by OpenCVE AI on September 13, 2026 at 07:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Implement a kernel update that includes the synchronization fix (cancel_delayed_work_sync) for the MAX17040 driver.
  • If a kernel upgrade is unavailable, apply a local patch to replace cancel_delayed_work() calls with cancel_delayed_work_sync() in the driver source before building the kernel.
  • As a temporary mitigation, disable or reduce the polling interval of the fuel gauge during suspend operations until the kernel or driver patch is applied.

Generated by OpenCVE AI on September 13, 2026 at 07:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 12 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-821
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Fri, 11 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: power: supply: max17040: synchronize work cancellation on suspend max17040_work() requeues itself after every poll. cancel_delayed_work() only cancels a pending instance and does not wait for a callback that is already running. If system suspend races with the polling callback, the callback can continue accessing the fuel gauge and requeue itself after the suspend callback returns. Use cancel_delayed_work_sync() to ensure polling is quiesced before suspend completes.
Title power: supply: max17040: synchronize work cancellation on suspend
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-11T19:43:23.323Z

Reserved: 2026-09-11T19:38:34.708Z

Link: CVE-2026-89461

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-11T20:19:27.037

Modified: 2026-09-11T20:19:27.037

Link: CVE-2026-89461

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-11T19:43:23Z

Links: CVE-2026-89461 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T16:30:13Z

Weaknesses
  • CWE-821

    Incorrect Synchronization