CVE-2026-46270

Source
https://cve.org/CVERecord?id=CVE-2026-46270
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-46270.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2026-46270
Downstream
Published
2026-06-03T15:50:12.537Z
Modified
2026-06-18T03:56:11.578820955Z
Severity
  • 8.4 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
power: supply: rt9455: Fix use-after-free in power_supply_changed()
Details

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

power: supply: rt9455: Fix use-after-free in powersupplychanged()

Using the devm_ variant for requesting IRQ before the devm_ variant for allocating/registering the power_supply handle, means that the power_supply handle will be deallocated/unregistered before the interrupt handler (since devm_ naturally deallocates in reverse allocation order). This means that during removal, there is a race condition where an interrupt can fire just after the power_supply handle has been freed, but just before the corresponding unregistration of the IRQ handler has run.

This will lead to the IRQ handler calling power_supply_changed() with a freed power_supply handle. Which usually crashes the system or otherwise silently corrupts the memory...

Note that there is a similar situation which can also happen during probe(); the possibility of an interrupt firing before registering the power_supply handle. This would then lead to the nasty situation of using the power_supply handle uninitialized in power_supply_changed().

Fix this racy use-after-free by making sure the IRQ is requested after the registration of the power_supply handle.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/46xxx/CVE-2026-46270.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e86d69dd786e94046b8f5be7df1b9a8226a40b2a
Fixed
d4e2e3c3caa26b93aa9f36d0a6824b584e2a8dfc
Fixed
62d753b916bd500bb269b7078cdab73198ab4718
Fixed
a39f8f06216f73ef40e71e2fe4ad071964c1fd36
Fixed
af261f218a7606f93d2c786353d60bb4feb56ef0
Fixed
2178dc65d45e2f7bcaa8af8d80d100419bdab251
Fixed
64e15155095f39f4dec9b4659da1238ef8fc54d4
Fixed
721449a15170fc5f028a7576d7f65b9f60d53482
Fixed
e2febe375e5ea5afed92f4cd9711bde8f24ee6d2

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-46270.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.2.0
Fixed
5.10.252
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.202
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.165
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.128
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.75
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.14
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
6.19.4

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-46270.json"