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

power: supply: bq24257: fix use-after-free on remove

The STAT-pin interrupt is devm-managed, so it stays armed until the devm
cleanup that runs after remove() returns. remove() cancels
bq->iilimit_setup_work while the threaded handler can still fire; that
handler reschedules the work and dereferences bq, so the work runs
against freed memory once devm frees bq.

Make the delayed work device-managed with devm_delayed_work_autocancel(),
registered before the interrupt request. The devm cleanup then releases
the interrupt first, so the handler can no longer reschedule the work,
and cancels the work before bq is freed. The explicit
cancel_delayed_work_sync() in remove() is no longer needed and is dropped.

Found by static analysis.
Published: 2026-09-11
Score: 5.2 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Use‑after‑free leading to memory corruption
Action: Patch kernel
AI Analysis

Impact

The Linux kernel bq24257 power‑supply driver can trigger a use‑after‑free when the device is removed. The driver registers a STAT‑pin interrupt that remains active until the devm cleanup runs after remove() returns. During removal the code cancels a delayed work queue item, but the threaded interrupt handler may still fire, rescheduling the work and dereferencing the already freed bq structure. This dereference of freed memory can corrupt kernel data or cause a crash.

Affected Systems

All Linux kernel installations that include the bq24257 driver prior to the specific kernel version range is listed, so any kernel build containing the vulnerable driver before the change – including custom builds – is at risk.

Risk and Exploitability

The CVSS score of 5.2 indicates a moderate impact, the EPSS score is below 1%, and the vulnerability is not listed in the CISA KEV catalog, suggesting a low likelihood of exploitation in the wild. However, the description does not detail specific threat levels, so based on the nature of the use‑after‑free it is inferred that exploitation would require the ability to trigger the device removal process. The impact could lead to kernel memory corruption or a crash, potentially allowing privilege escalation or denial of service, though these outcomes are not explicitly stated in the data.

Generated by OpenCVE AI on September 15, 2026 at 22:48 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a Linux kernel update that contains the bq24257 use‑after‑free fix.
  • For custom kernels, cherry‑pick or merge the commit 47ccbad210f48721c30d69d65b83dc9fff919ca9, which addresses the removal ordering and work‑queue cancellation.
  • If an update is not possible, disable or unload the bq24257 power‑supply driver to eliminate the removal path while the system is running.

Generated by OpenCVE AI on September 15, 2026 at 22:48 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-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.2, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/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: bq24257: fix use-after-free on remove The STAT-pin interrupt is devm-managed, so it stays armed until the devm cleanup that runs after remove() returns. remove() cancels bq->iilimit_setup_work while the threaded handler can still fire; that handler reschedules the work and dereferences bq, so the work runs against freed memory once devm frees bq. Make the delayed work device-managed with devm_delayed_work_autocancel(), registered before the interrupt request. The devm cleanup then releases the interrupt first, so the handler can no longer reschedule the work, and cancels the work before bq is freed. The explicit cancel_delayed_work_sync() in remove() is no longer needed and is dropped. Found by static analysis.
Title power: supply: bq24257: fix use-after-free on remove
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:11.747Z

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

Link: CVE-2026-89475

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

Modified: 2026-09-14T13:19:03.853

Link: CVE-2026-89475

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-89475 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-15T23:00:16Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference