Direct naar de inhoud
Kritieke cyberalerts voor jouw sector & systemen — direct in je inbox. Aanmelden →
cybernieuws.nl Cybersecurity en informatiebeveiling nieuws alerts live · 1 min 105 bronnen 1 kritiek 32 vandaag
CVE's Videos Dagbriefing

← Terug naar CVE-database

CVE-2026-46270

HIGH · 8.4 CVSS Gepubliceerd: CWE-416

Beschrijving NL

In de Linux kernel is de volgende kwetsbaarheid verholpen:

power: voeding: rt9455: Fix use-after-free in power_supply_changed()

De `devm_` -variant gebruiken voor het aanvragen van IRQ _before_ the `devm_`
variant voor het toewijzen/registreren van de `power_supply` handle, betekent dat
de `power_supply` -handgreep zal worden ontkoppeld/ongeregistreerd _voor_ de
onderbrekingshandler (aangezien `devm_` van nature in omgekeerde volgorde
toewijzingsorder). Dit betekent dat er tijdens het verwijderen een race
toestand waarin een interrupt net _na_ de `voeding` kan vuren
handvat is vrijgemaakt, *maar* just _before_ the corresponding
de uitschrijving van de IRQ-handler is uitgevoerd. Dit zal ertoe leiden dat de IRQ-handler `power_supply_changed()` aanroept met
een vrijgekomen `power_supply` handgreep. Waarmee het systeem meestal crasht of
corrumpeert anders geruisloos het geheugen... Merk op dat er een vergelijkbare situatie is die ook kan optreden tijdens
`probe()`; de mogelijkheid van een onderbrekingsvuur _voor_ registratie
de `power_supply` handgreep. Dit zou dan leiden tot de vervelende situatie
van het gebruik van de `power_supply` -greep *niet-geïnitialiseerd* in
`power_supply_changed()`. Los deze pittige use-after-free op door ervoor te zorgen dat de IRQ wordt aangevraagd _after_
de registratie van de `power_supply` handle.

Origineel (Engels) tonen

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

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

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.

Vendors

Linux

Affected products

Linux Kernel

References