Katalog CVE

CVE-2026-74734

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W sterowniku firewire: ohci jądra Linux wykryto podatność prowadzącą do wyłuskania pustego wskaźnika (NULL pointer dereference) w funkcji ar_context_release(). Problem występuje podczas obsługi błędów w funkcji probe, gdy inicjalizacja kontekstu nie została wykonana, a mechanizm devres wywołuje sprzątanie. Atakujący może wykorzystać tę wadę do wywołania awarii systemu (paniki jądra).

Ocena ryzyka

Podatność może zostać wykorzystana lokalnie do wywołania odmowy usługi (DoS) poprzez celowe wywołanie błędu podczas inicjalizacji sterownika FireWire. W praktyce wymaga to dostępu do sprzętu FireWire lub możliwości wymuszenia nieudanego ładowania sterownika, co może prowadzić do niestabilności systemu.

Rekomendacja

Zaleca się natychmiastowe zaktualizowanie jądra Linux do wersji zawierającej poprawkę (commit, który przenosi przypisanie wskaźnika dev po sprawdzeniu ctx->buffer). Jeśli aktualizacja nie jest możliwa, należy rozważyć wyłączenie modułu firewire-ohci w systemach, gdzie nie jest on wymagany.

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: firewire: ohci: fix NULL pointer dereference in ar_context_release During the error handling path of the driver's probe function, a NULL pointer dereference can occur in ar_context_release(). When pci_probe() fails early (e.g., if pcim_enable_device() or MMIO mapping fails), the devres cleanup mechanism invokes release_ohci(). This function unconditionally calls ar_context_release() to clean up the asynchronous receive contexts. However, if ar_context_init() was not yet called, ctx->ohci remains NULL (as the fw_ohci structure is zero-initialized by devres_alloc()). ar_context_release() immediately dereferences ctx->ohci to get the dev pointer before checking if the context was actually initialized, leading to a crash: Oops: general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f] RIP: 0010:ar_context_release+0x3f/0x380 drivers/firewire/ohci.c:543 Call Trace: release_ohci+0x3f/0x60 drivers/firewire/ohci.c:3567 release_nodes drivers/base/devres.c:546 [inline] devres_release_all+0x1a8/0x260 drivers/base/devres.c:576 device_unbind_cleanup drivers/base/dd.c:597 [inline] really_probe+0x451/0xae0 drivers/base/dd.c:772 To fix this, move the assignment of the dev pointer after the !ctx->buffer check. If ctx->buffer is NULL, it indicates that the context was never successfully initialized and there is nothing to release, safely avoiding the dereference of the uninitialized ctx->ohci pointer.

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