Katalog CVE

CVE-2026-68344

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.20%

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

Streszczenie

W sterowniku ueagle-atm dla modemów USB ADSL w jądrze Linuxa wykryto podatność polegającą na niezgodności kryteriów rozróżniania urządzeń przed i po załadowaniu firmware w funkcjach probe i disconnect. Specjalnie spreparowane urządzenie USB może wykorzystać tę rozbieżność, prowadząc do odczytu poza przydzielonym buforem (slab-out-of-bounds) i potencjalnie do awarii systemu lub eskalacji uprawnień.

Ocena ryzyka

Atakujący z fizycznym dostępem do portu USB może podłączyć złośliwe urządzenie, które doprowadzi do naruszenia integralności pamięci jądra, co może skutkować awarią systemu (DoS) lub w skrajnym przypadku przejęciem kontroli nad systemem.

Rekomendacja

Zaleca się natychmiastowe zaktualizowanie jądra Linuxa do wersji zawierającej poprawkę (commit usuwający problem) oraz, jeśli to możliwe, ograniczenie dostępu do portów USB dla nieautoryzowanych urządzeń.

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: atm: ueagle-atm: reject descriptors that confuse probe and disconnect uea_probe() distinguishes a pre-firmware device from a post-firmware one using the USB id (UEA_IS_PREFIRM()), and stores a different object as the interface data in each case: a 'struct completion' for a pre-firmware device (to be waited on in .disconnect()), or a 'struct usbatm_data' for a post-firmware one. uea_disconnect() instead tells the two apart by the number of interfaces of the active configuration (a pre-firmware device exposes a single interface, ADI930 has 2 and eagle has 3), and casts the interface data accordingly. Because the two handlers use different criteria, a crafted device that advertises a pre-firmware id together with a multi-interface descriptor (or a post-firmware id with a single interface) makes them disagree: the small 'struct completion' stored by uea_probe() is then passed to usbatm_usb_disconnect(), which casts it to 'struct usbatm_data' and takes instance->serialize, reading past the end of the allocation: BUG: KASAN: slab-out-of-bounds in __mutex_lock+0x152a/0x1b80 Read of size 8 at addr ffff8880470e2c60 by task kworker/1:2/982 ... __mutex_lock+0x152a/0x1b80 usbatm_usb_disconnect+0x70/0x820 uea_disconnect+0x133/0x2c0 usb_unbind_interface+0x1dd/0x9e0 ... which belongs to the cache kmalloc-96 of size 96 The buggy address is located 0 bytes to the right of allocated 96-byte region [ffff8880470e2c00, ffff8880470e2c60) Reject such inconsistent descriptors in uea_probe() so that both handlers always make the same pre/post-firmware decision.

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