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

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

ucs1002 has no remove callback, so unbind runs entirely through devm.
The alert IRQ handler queues the health_poll delayed work, and the work
reschedules itself while the chip reports a bad-health condition. devm
frees the alert IRQ, which only synchronizes the handler; it does not
cancel the delayed work, which can then run after devm frees the driver
data and dereference it.

Register health_poll with devm_delayed_work_autocancel() before the
alert IRQ is requested. devm then frees the IRQ before cancelling the
work, so the handler can no longer queue it and the work is cancelled
before the driver data is freed.

This issue was found by an in-house static analysis tool.
Published: 2026-09-11
Score: 5.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Kernel Crash (Denial of Service)
Action: Apply Patch
AI Analysis

Impact

The vulnerability is a use‑after‑free in the Linux kernel’s UCS1002 power‑supply driver. When the device is removed, a delayed work routine is still queued by an IRQ handler and may run after the driver data has been freed by devm. This results in the routine dereferencing freed memory, leading to a kernel crash and system reboot. The description explicitly states that this dereference can crash the kernel, implying a denial‑of‑service outcome.

Affected Systems

All Linux kernel builds that include the unpatched UCS1002 power‑supply driver are affected. The defect exists in any kernel release prior to the commit that registers the health_poll work with devm_delayed_work_autocancel. No specific version strings are listed, so any kernel that contains the legacy driver configuration is potentially vulnerable.

Risk and Exploitability

The CVSS score for this issue is 5.7, indicating a moderate severity. The EPSS score is below 1%, indicating a very low but nonzero exploitation probability, and the vulnerability is not listed in CISA KEV. Based on the description, the likely attack vector is local or requires privileged execution to trigger driver removal or a bad‑health condition. An attacker would need sufficient local access to load or unload the module or manipulate the device state; remote exploitation is unlikely without additional attack surface. The impact of a kernel crash is high, so the overall risk is moderate to high if an attacker has the necessary local privilege.

Generated by OpenCVE AI on September 13, 2026 at 03:10 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that includes the commit registering health_poll with devm_delayed_work_autocancel.
  • If an update is not immediately possible, unload or disable the UCS1002 power‑supply driver or remove the device to prevent the delayed work routine from executing.
  • As a temporary safeguard, restrict local processes that can manipulate the power‑supply state to prevent accidental triggering of the bad‑health condition.

Generated by OpenCVE AI on September 13, 2026 at 03:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

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

None

cvssV3_1

{'score': 5.7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:H/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: ucs1002: fix use-after-free on remove ucs1002 has no remove callback, so unbind runs entirely through devm. The alert IRQ handler queues the health_poll delayed work, and the work reschedules itself while the chip reports a bad-health condition. devm frees the alert IRQ, which only synchronizes the handler; it does not cancel the delayed work, which can then run after devm frees the driver data and dereference it. Register health_poll with devm_delayed_work_autocancel() before the alert IRQ is requested. devm then frees the IRQ before cancelling the work, so the handler can no longer queue it and the work is cancelled before the driver data is freed. This issue was found by an in-house static analysis tool.
Title power: supply: ucs1002: 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-11T19:43:24.629Z

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

Link: CVE-2026-89463

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-89463

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-89463 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T06:30:16Z

Weaknesses
  • CWE-364

    Signal Handler Race Condition