Katalog CVE

CVE-2026-90130

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux funkcja vdpasim_create() pozostawia vdpasim->worker jako ERR_PTR, gdy kthread_run_worker() zawiedzie. Ścieżka błędu zwalnia referencję do urządzenia, a vdpasim_free() bezwarunkowo przekazuje wskaźnik worker do kthread_destroy_worker(), co powoduje dereferencję ERR_PTR i general protection fault.

Ocena ryzyka

Awaria tworzenia workera w vdpa_sim może doprowadzić do general protection fault i zawieszenia jądra, co stanowi wektor odmowy usługi (DoS) dla systemu.

Rekomendacja

Zaktualizować jądro Linux do wersji zawierającej poprawkę, która zapisuje błąd workera, czyści wskaźnik i wykonuje sprzątanie workera tylko po udanej inicjalizacji. Zabezpieczyć również ścieżkę zwalniania przed częściowo zainicjalizowanymi obiektami.

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: vdpa_sim: fix cleanup after worker creation failure vdpasim_create() leaves vdpasim->worker as an ERR_PTR when kthread_run_worker() fails. The error path then drops the device reference, which releases the partially initialized simulator. vdpasim_free() unconditionally passes the worker pointer to kthread_destroy_worker(), so the ERR_PTR is dereferenced and can trigger a general protection fault. Store the worker error, clear the pointer, and only clean up the worker when it was successfully initialized. Also make the release path tolerate partially initialized objects by guarding virtqueue and IOTLB cleanup, since the same release path can be reached from other initialization failures. I found this bug myself, though the patch was written with AI assistance.

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