Katalog CVE

CVE-2026-98428

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux sterownik USB 6fire używa URB osadzonych w różnych strukturach dla PCM, MIDI i komunikacji, co jest wadliwą implementacją; ponieważ URB jest zarządzany przez licznik referencji, może to prowadzić do użycia zwolnionej pamięci (UAF), gdy URB jest zwalniany asynchronicznie. Poprawka konwertuje te osadzone URB na alokowane przez usb_alloc_urb(), zamieniając każde osadzone struct urb na wskaźnik i aktualizując wywołania; zasoby są zwalniane w wspólnych destruktorach wywoływanych zarówno przy błędzie inicjalizacji, jak i przy odłączeniu.

Ocena ryzyka

Użycie zwolnionej pamięci (use-after-free) w sterowniku USB może prowadzić do destabilizacji lub awarii jądra, a potencjalnie do eskalacji uprawnień. Wymaga to fizycznego dostępu lub podłączenia złośliwego urządzenia USB.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę. Po aktualizacji wymagany jest restart systemu w celu załadowania nowego jądra.

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: ALSA: usb: 6fire: Avoid embedded URBs The USB 6fire driver uses URBs embedded in different structs for PCM, MIDI and communication, and this is basically a buggy implementation nowadays; since a URB is managed with a refcount, this may lead to a UAF when the URB is released asynchronously. For addressing the problem, this patch converts those embedded URBs to ones that are properly allocated via usb_alloc_urb(). The pcm_urb.packets[] is gone, as it's allocated by usb_alloc_urb(), hence it's found in urb.iso_frame_desc[] instead. The conversions are rather straightforward; each embedded struct urb is changed to a pointer, and its callers are updated accordingly. The resource for those structs are released in the common destructor functions (usb6fire_comm_free(), etc), which are called at both the init error path and the disconnect. No functional changes, only compile-tested.

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