Katalog CVE

CVE-2026-98496

Niskie ryzyko· EPSS 9%
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.20%

Percentyl 9 - wyżej niż 9% wszystkich znanych CVE

Streszczenie

W jądrze Linux funkcja airoha_npu_remove() sterownika net: airoha: npu wywołuje cancel_work_sync() na wdt_work, ale przerwanie watchdog, które je kolejkuje, jest zwalniane dopiero po zakończeniu .remove(). Handler może ponownie zakolejkować pracę, która odwołuje się do zwolnionej pamięci struktury airoha_npu.

Ocena ryzyka

Późno wykonana praca może odwołać się do zwolnionej pamięci (use-after-free), powodując zawieszenie systemu lub uszkodzenie pamięci jądra.

Rekomendacja

Zaktualizuj jądro Linux do wersji rejestrującej pracę przez devm_work_autocancel() przed devm_request_irq() i usuwającej .remove().

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: net: airoha: npu: cancel wdt_work after releasing the WDT IRQ airoha_npu_remove() calls cancel_work_sync() on each core's wdt_work, but the watchdog IRQ that queues it is requested with devm_request_irq() and is freed only after .remove() returns. airoha_npu_wdt_handler() can therefore schedule_work() again once the cancel has returned. struct airoha_npu, which contains the work, is devm_kzalloc()'d and is freed in that same unwind, so the late work dereferences freed memory. Register the work with devm_work_autocancel() before devm_request_irq() and drop .remove(). Devres runs in reverse order, so the IRQ is freed before cancel_work_sync(), including when probe fails. A cancel left in .remove() cannot get that order. Initializing the work first also stops a pending watchdog interrupt from queuing an uninitialized work item. Probe currently calls INIT_WORK() only after devm_request_irq(). This issue was identified during our ongoing static-analysis research while reviewing kernel code.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS