Katalog CVE

CVE-2026-93086

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w podsystemie ARM SCMI występuje podatność polegająca na tym, że podczas czyszczenia kanałów, callback usuwający wpisy z IDR w trakcie iteracji idr_for_each() może unieważnić iterator, co prowadzi do niebezpiecznego zachowania. Ponadto callback nie może być chroniony przez rcu_read_lock(), ponieważ może spać.

Ocena ryzyka

Podatność może prowadzić do awarii systemu lub nieprzewidywalnego zachowania podczas czyszczenia kanałów, co może być wykorzystane do ataku DoS.

Rekomendacja

Zastosuj poprawkę, która pozostawia usuwanie wpisów z IDR funkcji idr_destroy() i ogranicza callback do niszczenia urządzeń. Zaktualizuj jądro do wersji zawierającej tę poprawkę.

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: Avoid IDR updates while cleaning channels scmi_cleanup_channels() walks the TX/RX channel IDRs with idr_for_each() to free transport resources and destroy the dedicated transport devices before calling idr_destroy(). The destroy callback removed each entry from the same IDR being walked. That is not needed for this cleanup path, and it is unsafe because idr_for_each() has not advanced its radix-tree iterator while the callback is running. Removing the current entry from the callback can invalidate the iterator state. The callback also cannot be protected by rcu_read_lock(), because scmi_device_destroy() may sleep. Leave IDR teardown to the following idr_destroy() call and keep the callback limited to device destruction.

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