CVE-2024-35986CWE-416

CVE-2024-35986

High · published May 20, 2024

CVSS v3.1
7.0
EPSS
0%
Percentile
12.2
In the wild
Unconfirmed
What it is

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

phy: ti: tusb1210: Resolve charger-det crash if charger psy is unregistered

The power_supply frame-work is not really designed for there to be

long living in kernel references to power_supply devices.

Specifically unregistering a power_supply while some other code has

a reference to it triggers a WARN in power_supply_unregister():

WARN_ON(atomic_dec_return(&psy->use_cnt));

Folllowed by the power_supply still getting removed and the

backing data freed anyway, leaving the tusb1210 charger-detect code

with a dangling reference, resulting in a crash the next time

tusb1210_get_online() is called.

Fix this by only holding the reference in tusb1210_get_online()

freeing it at the end of the function. Note this still leaves

a theoretical race window, but it avoids the issue when manually

rmmod-ing the charger chip driver during development.

The record
Technical detail
CVSS v3.1
7.0 · HIGH
Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00222 · 12.2th percentile
Weakness
CWE-416 · Use After Free
Published
2024-05-20T14:15Z
Affected products (8)
ProductVersionsFixed in
linux/linux_kernel≥ 5.18, < 6.1.906.1.90
linux/linux_kernel≥ 6.2, < 6.6.306.6.30
linux/linux_kernel≥ 6.7, < 6.8.96.8.9
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (8)
EPSS history
Timeline
  • 20 MAY 09:47Z
    phy: ti: tusb1210: Resolve charger-det crash if charger psy is unregistered
    cvelistv5