Katalog CVE

CVE-2026-98426

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w sterowniku wifi mwifiex funkcja mwifiex_pcie_request_irq() rejestruje każdy wektor MSI-X z dev_id dla danego indeksu (&card->msix_ctx[i]). Przy błędzie request_irq() pętla czyszcząca "for (j = 0; j < i; j++)" zwalnia msix_entries[j].vector, ale przekazuje &card->msix_ctx[i] z nieudanego indeksu jako dev_id. Ponieważ free_irq() dopasowuje po (irq, dev_id), nie znajduje akcji zarejestrowanej z &card->msix_ctx[j]: już zarejestrowane przerwanie j nie jest zwalniane (wyciek), a free_irq() ostrzega o zwalnianiu nieistniejącego przerwania. Poprawka używa &card->msix_ctx[j].

Ocena ryzyka

Wyciek przerwań przy błędzie rejestracji MSI-X może prowadzić do wyczerpania zasobów przerwań i niestabilności systemu. Może to skutkować odmową usługi lub awarią sterownika sieciowego.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę. Po aktualizacji wymagany jest restart systemu w celu załadowania nowego jądra.

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: wifi: mwifiex: fix IRQ leak using wrong index in MSI-X error path mwifiex_pcie_request_irq() registers each MSI-X vector with a per-index dev_id (&card->msix_ctx[i]). On a request_irq() failure the cleanup loop "for (j = 0; j < i; j++)" frees msix_entries[j].vector but passes the failed index's &card->msix_ctx[i] as the dev_id. free_irq() matches on (irq, dev_id), so it fails to find the action registered with &card->msix_ctx[j]: the already-requested IRQ j is not freed (leaked) and free_irq() warns about freeing a non-existent IRQ. Use &card->msix_ctx[j].

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