Katalog CVE

CVE-2026-93081

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w sterowniku firmware: arm_scmi występuje błąd zarządzania czasem życia urządzeń SCMI. Funkcja scmi_child_dev_find() zwalnia referencję zwróconą przez device_find_child() przed zwróceniem wskaźnika scmi_device, przez co równoległe wyrejestrowanie może zwolnić urządzenie, gdy ścieżka niszczenia wciąż używa tego wskaźnika. Dodatkowo identyfikator szyny SCMI może zostać ponownie użyty, zanim stary wpis zostanie usunięty z sysfs.

Ocena ryzyka

Może prowadzić do użycia zwolnionej pamięci (use-after-free) i awarii jądra lub uszkodzenia danych. W środowiskach z dynamicznym dodawaniem i usuwaniem urządzeń SCMI ryzyko jest realne.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę dla tego CVE. Jeśli aktualizacja nie jest możliwa, ogranicz dynamiczne operacje na urządzeniach SCMI.

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: firmware: arm_scmi: Fix SCMI device destroy lifetimes scmi_child_dev_find() drops the reference returned by device_find_child() before returning the scmi_device pointer. A concurrent unregister can then release the device while the destroy path is still using the returned pointer. Make the lookup helper return the device_find_child() reference and keep it until scmi_device_destroy() has finished unregistering the child. Also split device_unregister() in __scmi_device_destroy() so the SCMI bus ID is not made reusable until after device_del() has removed the old scmi_dev.N name from sysfs. This avoids a new SCMI device reusing the same ID while the old device is still registered. The final device release callback is also a possible cleanup path when SCMI children are deleted by driver core recursion rather than __scmi_device_destroy(). Release the SCMI bus ID from a common helper used by destroy, register-failure and final-release paths, and clear scmi_dev->id after freeing it so the final release cannot free the same ID again.

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