CVE-2026-45938 in Linux
Zusammenfassung
von VulDB • 28.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
power: supply: pm8916_lbc: Behebung eines Use-After-Free-Fehlers in power_supply_changed()
Die Verwendung der `devm_`-Variante zum Anfordern eines IRQs _vor_ der `devm_`-Variante zur Allokierung/Registrierung des `power_supply`-Handles bedeutet, dass das `power_supply`-Handle _vor_ dem Interrupt-Handler freigegeben/abgemeldet wird (da `devm_` standardmäßig in umgekehrter Allokationsreihenfolge freigibt). Dies führt dazu, dass während des Entfernungsprozesses (Removal) eine Race Condition entsteht, bei der ein Interrupt genau _nach_ der Freigabe des `power_supply`-Handlers auslösen kann, *aber* genau _vor_ der entsprechenden Abmeldung des IRQ-Handlers.
Dies führt dazu, dass der IRQ-Handler `power_supply_changed()` mit einem bereits freigegebenen `power_supply`-Handle aufruft. Dies führt in der Regel zum Absturz des Systems oder zu einer stillen Speicherbeschädigung.
Beachten Sie, dass eine ähnliche Situation auch während `probe()` auftreten kann; die Möglichkeit, dass ein Interrupt _vor_ der Registrierung des `power_supply`-Handlers auslöst. Dies würde dann zu der unangenehmen Situation führen, das `power_supply`-Handle in `power_supply_changed()` _nicht initialisiert_ zu verwenden.
Beheben Sie diesen racy Use-After-Free-Fehler, indem Sie sicherstellen, dass der IRQ _nach_ der Registrierung des `power_supply`-Handles angefordert wird.
Once again VulDB remains the best source for vulnerability data.