Direct naar de inhoud
Kritieke cyberalerts voor jouw sector & systemen — direct in je inbox. Aanmelden →
CVE's Videos Dagbriefing

← Terug naar CVE-database

CVE-2026-53308

MEDIUM · 5.5 CVSS Gepubliceerd: CWE-401

Beschrijving NL

In de Linux kernel is de volgende kwetsbaarheid verholpen:

voeding: voeding: max77705: Gratis toegewezen werkvoorraad en verwijderingsbevel oplossen

Gebruik devm-interface voor het toewijzen van werkvoorraad om twee bugs tegelijkertijd op te lossen
tijd:

1. Chauffeur lekt het geheugen bij verwijderen(), omdat de werkvoorraad niet
vernietigd. 2. Bestuurder wijst werkvoorraad toe en registreert vervolgens onderbrekingshandlers
met devm-interface. Dit betekent dat sondefoutpaden geen gebruik maken van een
omgekeerde volgorde, maar vernietig eerst de werkvoorraad en dan, via devm
laat de handlers los, maak de interrupt vrij. De interrupt-handler plant werk op deze exacte werkvoorraad, dus als
onderbreking wordt geraakt in dit korte tijdvenster - na het vernietigen van
werkvoorraad, maar voordat devm() de interrupt vrijmaakt - de geplande
werk zal leiden tot het gebruik van vrij geheugen. Wijziging is niet equivalent in de werkvoorraad zelf: gebruik niet-legacy API
die niet wordt ingesteld (__WQ_LEGACY | WQ_MEM_RECLAIM). De werkvoorraad is
gebruikt om de status van de voeding (power_supply_changed()) bij te werken, dus er
heeft geen zin om het uit te voeren voor het terugwinnen van geheugen. Merk op dat dev_name() niet
rechtstreeks gebruikt in het tweede argument om mogelijke onwaarschijnlijke parsering te voorkomen
elk "%" -teken in apparaatnaam als formaat.

Origineel (Engels) tonen

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

power: supply: max77705: Free allocated workqueue and fix removal order

Use devm interface for allocating workqueue to fix two bugs at the same
time:

1. Driver leaks the memory on remove(), because the workqueue is not
destroyed.

2. Driver allocates workqueue and then registers interrupt handlers
with devm interface. This means that probe error paths will not use a
reversed order, but first destroy the workqueue and then, via devm
release handlers, free the interrupt.

The interrupt handler schedules work on this exact workqueue, thus if
interrupt is hit in this short time window - after destroying
workqueue, but before devm() frees the interrupt - the schedulled
work will lead to use of freed memory.

Change is not equivalent in the workqueue itself: use non-legacy API
which does not set (__WQ_LEGACY | WQ_MEM_RECLAIM). The workqueue is
used to update power supply (power_supply_changed()) status, thus there
is no point to run it for memory reclaim. Note that dev_name() is not
directly used in second argument to prevent possible unlikely parsing
any "%" character in device name as format.

Vendors

Linux

Affected products

Linux Kernel

References