Katalog CVE

CVE-2026-80827

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w sterowniku USB: serial: option występuje podatność odczytu poza zakresem (slab OOB read) w funkcji callback przerwania URB. Bufor przerywań jest alokowany na podstawie wMaxPacketSize, a gdy urządzenie wyśle krótki pakiet, kod odczytuje dane poza przydzielonym buforem. Poprawka dodaje brakujące sprawdzenie granic przed dostępem do danych.

Ocena ryzyka

Podatność może prowadzić do wycieku informacji z pamięci jądra lub awarii systemu, jeśli złośliwe urządzenie USB wyśle odpowiednio spreparowany pakiet.

Rekomendacja

Zainstaluj aktualizację jądra Linux zawierającą poprawkę sprawdzania granic.

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: serial: option: fix slab OOB read in interrupt URB callback The interrupt URB buffer is allocated in setup_port_interrupt_in() based on the endpoint's wMaxPacketSize: buffer_size = usb_endpoint_maxp(epd); port->interrupt_in_buffer = kmalloc(buffer_size, GFP_KERNEL); When a USB device declares wMaxPacketSize = 8 on its interrupt IN endpoint, the buffer is allocated from kmalloc-8 cache (exactly 8 bytes). If the device sends a short packet (actual_length < wMaxPacketSize), the URB completes with status == 0 and the callback proceeds to read: data[sizeof(struct usb_ctrlrequest)] which evaluates to data[8], accessing 1 byte beyond the allocated 8-byte buffer. This results in a slab out-of-bounds read. Fix this by adding the missing bounds check: first verify that the actual length is large enough to contain the struct usb_ctrlrequest header before accessing req_pkt->bRequestType and req_pkt->bRequest, and then verify that there is an additional byte for the modem signal state before reading data[sizeof(struct usb_ctrlrequest)] inside the conditional. Use sizeof(*req_pkt) instead of sizeof(struct usb_ctrlrequest) for consistency. [ johan: use dev_err(); split signals declaration and initialisation ]

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