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: Race condition during suspend affecting MAX17040 fuel gauge driver
Action: Patch kernel
AI Analysis

Impact

The MAX17040 fuel‑gauge driver repeatedly reschedules a polling function via cancel_delayed_work(). When a system suspend operation occurs concurrently, the cancel_delayed_work() call only cancels a pending instance and does not wait for a callback that is already executing. Consequently, the polling routine may continue to run after the suspend handler has finished, allowing the driver to access the fuel‑gauge hardware while the system is suspended. This race can result in inconsistent reads or other erratic driver behavior, but the CVE description does not indicate any crash, memory corruption, or data loss.

Affected Systems

All Linux kernel releases that include the unpatched MAX17040 power‑supply driver are potentially affected. Any system that uses the unmodified driver during suspend cycles is at risk.

Risk and Exploitability

The CVSS score of 5.5 indicates moderate severity. The EPSS score of less than 1 % suggests an extremely low likelihood of exploitation. The issue is not listed in the CISA KEV catalog, and the CVE documentation does not describe a remote or publicly available exploit. Exploitation would require local or privileged access to induce a race condition between suspend and the driver’s polling callback; no public remote exploitation scenarios are documented.

Generated by OpenCVE AI on September 21, 2026 at 02:39 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to a kernel version that replaces cancel_delayed_work() with cancel_delayed_work_sync(), fixing the data race in CWE-821.
  • If using a custom or in‑tree kernel: modify the driver source to call cancel_delayed_work_sync() before rescheduling the next poll and rebuild the kernel.
  • As a temporary workaround: before suspend, unbind the MAX17040 driver or disable its polling mechanism until a patched kernel is available.

Generated by OpenCVE AI on September 21, 2026 at 02:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Mon, 14 Sep 2026 12:30:00 +0000


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-14T12:00:01.047Z

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-14T13:19:02.493

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-21T02:45:08Z

Weaknesses
  • CWE-821

    Incorrect Synchronization