Katalog CVE

CVE-2025-38720

ŚrednieCVSS 5.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.12%

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

Streszczenie

W jądrze Linux w sterowniku sieciowym hibmcge występuje zakleszczenie rtnl_lock podczas resetu PCI. Sterownik pozyskuje rtnl_lock w reset_prepare() i zwalnia w reset_done(), co przy iteracji po urządzeniach w ramach resetu magistrali prowadzi do podwójnego żądania blokady.

Ocena ryzyka

Może to spowodować zakleszczenie i zawieszenie systemu podczas obsługi błędów PCI, prowadząc do niedostępności urządzeń sieciowych i całego systemu.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę dla sterownika hibmcge. Monitoruj logi pod kątem zakleszczeń związanych z rtnl_lock i resetem PCI.

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: hibmcge: fix rtnl deadlock issue Currently, the hibmcge netdev acquires the rtnl_lock in pci_error_handlers.reset_prepare() and releases it in pci_error_handlers.reset_done(). However, in the PCI framework: pci_reset_bus - __pci_reset_slot - pci_slot_save_and_disable_locked - pci_dev_save_and_disable - err_handler->reset_prepare(dev); In pci_slot_save_and_disable_locked(): list_for_each_entry(dev, &slot->bus->devices, bus_list) { if (!dev->slot || dev->slot!= slot) continue; pci_dev_save_and_disable(dev); if (dev->subordinate) pci_bus_save_and_disable_locked(dev->subordinate); } This will iterate through all devices under the current bus and execute err_handler->reset_prepare(), causing two devices of the hibmcge driver to sequentially request the rtnl_lock, leading to a deadlock. Since the driver now executes netif_device_detach() before the reset process, it will not concurrently with other netdev APIs, so there is no need to hold the rtnl_lock now. Therefore, this patch removes the rtnl_lock during the reset process and adjusts the position of HBG_NIC_STATE_RESETTING to ensure that multiple resets are not executed concurrently.

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