Katalog CVE

CVE-2026-93118

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux funkcja ast_udc_probe() sterownika USB gadget aspeed_udc przydziela spójny bufor DMA używany jako magazyn buforów endpointów, a ast_udc_init_ep() wywodzi wskaźniki z udc->ep0_buf. Nieudana alokacja jest dereferencjonowana podczas probe, a istniejąca ścieżka błędu wywołuje ast_udc_remove(), co jest niebezpieczne przed udanym usb_add_gadget_udc(). Poprawka dodaje sprawdzenie alokacji i lokalny pomocnik czyszczenia.

Ocena ryzyka

Nieudana alokacja DMA prowadzi do dereferencji wskaźnika NULL i awarii jądra, a nieprawidłowa ścieżka błędu może pozostawić zasoby w niespójnym stanie. Dotyczy systemów z kontrolerem Aspeed UDC.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę dla sterownika aspeed_udc. Monitoruj logi jądra pod kątem błędów alokacji DMA przy starcie.

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: usb: gadget: aspeed_udc: check endpoint DMA allocation ast_udc_probe() allocates a coherent DMA buffer used as the backing store for endpoint buffers. ast_udc_init_ep() derives per-endpoint buffer pointers from udc->ep0_buf, so a failed allocation is dereferenced during probe. Check the allocation before endpoint setup. The existing probe error path called ast_udc_remove(), which unregisters the gadget unconditionally and is not safe before usb_add_gadget_udc() succeeds. Add a local cleanup helper for probe failures so pre-registration failures only unwind the resources that were actually initialized. This was found by a local static analysis checker for unchecked allocator returns while scanning Linux 6.16. The change was checked by applying it to current mainline and by running checkpatch. I do not have access to Aspeed UDC hardware, so no runtime testing was performed.

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