Katalog CVE

CVE-2026-64347

Niskie ryzyko· EPSS 7%
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.18%

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

Streszczenie

W sterowniku USB gadget composite w jądrze Linuxa występuje podatność na odczyt poza zakresem w obsłudze deskryptora USB_DT_OTG. Funkcja list_first_entry() nigdy nie zwraca NULL, więc sprawdzenie if (!config) jest martwe, co prowadzi do odczytu z nieprawidłowego adresu, gdy lista konfiguracji jest pusta.

Ocena ryzyka

Atakujący może wywołać błąd KASAN lub awarię systemu, wysyłając żądanie OTG, gdy lista konfiguracji jest pusta (np. podczas wycofywania gadżetu).

Rekomendacja

Zastosuj łatkę z jądra Linux, która używa list_first_entry_or_null() zamiast list_first_entry(), aby poprawnie obsłużyć pustą listę.

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: composite: fix dead empty check in the USB_DT_OTG handler The OTG branch of composite_setup() falls back to the first configuration when none is selected: if (cdev->config) config = cdev->config; else config = list_first_entry(&cdev->configs, struct usb_configuration, list); if (!config) goto done; ... memcpy(req->buf, config->descriptors[0], value); list_first_entry() never returns NULL. On an empty list it returns container_of() of the list head. So the "if (!config)" check is dead. When cdev->configs is empty, config points at the head inside struct usb_composite_dev. config->descriptors[0] reads whatever sits at that offset. The memcpy copies up to w_length bytes of it into the response buffer. cdev->configs can be empty in two cases. One is a teardown race on gadget unbind with a control transfer in flight. The other is a driver that sets is_otg before it adds a config. A reproducer that holds cdev->configs empty triggers a KASAN fault in this branch. Use list_first_entry_or_null() so the existing check does its job.

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