CVE-2026-90394
NoneCVSS
—
EPSS
0.2%
Published
Sep 17, 2026
CISA due date
—
Cloudanix analysis
A Linux kernel bug in power-charger handling can cause crashes or instability if the driver is removed without stopping its background tasks.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in the sc2731_charger driver when the platform device is removed: the USB notifier and charger detection path schedule delayed work on info->work, but the remove handler unregisters the notifier without canceling pending or running work before the devm-allocated driver data is freed.
Why it matters to the business
Kernel instability, crashes, or memory corruption on systems using this charger hardware when the driver module is unloaded or the device is hot-removed, potentially affecting embedded or mobile Linux deployments.
How an attack unfolds
An attacker with local access triggers repeated module load/unload or device insertion/removal sequences to race the work item against the freed driver data structure, leading to use-after-free memory corruption; no named threat actors or public exploits are known.
How to fix it
Apply the upstream fix that sets platform drvdata and cancels the work after notifier unregistration; rebuild and deploy the corrected kernel for affected configurations.
How to confirm the fix worked
Confirm the presence of the cancel-work call after notifier unregistration in the sc2731_charger remove path; test module removal under load to ensure no pending work references freed memory.
Typical attack path
- Obtain local access to a system exposing the sc2731 charger
- Repeatedly load/unload the power-supply driver or trigger device removal
- Race the scheduled work against the freed info structure
- Leverage resulting UAF for memory corruption or denial of service
How to detect it
Inspect kernel logs for oops or panic traces referencing sc2731_charger, workqueue, or use-after-free in power-supply code paths after device or module removal events.
What your security team should do
- Prioritize kernel updates containing the cancel-work fix on systems that include this charger driver
- Monitor for kernel oops/panics involving workqueue or power-supply structures
- Restrict local module loading privileges where feasible
The record
In the Linux kernel, the following vulnerability has been resolved: power: supply: sc2731_charger: cancel work on remove The USB notifier and initial charger detection can schedule info->work. The remove path unregisters the notifier, but does not cancel queued or running work before the devm-allocated driver data is released. Set the platform drvdata used by remove, then cancel the work after unregistering the notifier. This issue was found by a static analysis tool.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|