CVE-2026-31616
ŚrednieCVSS 5.5Streszczenie
W jądrze systemu Linux zidentyfikowano podatność, która pozwala na przepełnienie tablicy skb_shared_info->frags[] w urządzeniu USB gadget, gdy złośliwy host USB wysyła nieograniczoną liczbę transferów OUT o pełnej wielkości strony. Problem występuje w funkcji pn_rx_complete(), która nie resetuje odpowiedniego bufora, co prowadzi do nadpisania pamięci.
Ocena ryzyka
Organizacja może być narażona na ataki, które wykorzystują tę podatność do nadpisania pamięci, co może prowadzić do nieprzewidywalnego zachowania systemu lub wycieków danych. Potencjalne skutki mogą obejmować destabilizację systemu oraz możliwość wykonania złośliwego kodu.
Rekomendacja
Zaleca się aktualizację jądra systemu Linux do najnowszej wersji, w której ta podatność została naprawiona. Dodatkowo, monitorowanie i ograniczenie transferów USB może pomóc w minimalizacji ryzyka.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_phonet: fix skb frags[] overflow in pn_rx_complete() A broken/bored/mean USB host can overflow the skb_shared_info->frags[] array on a Linux gadget exposing a Phonet function by sending an unbounded sequence of full-page OUT transfers. pn_rx_complete() finalizes the skb only when req->actual < req->length, where req->length is set to PAGE_SIZE by the gadget. If the host always sends exactly PAGE_SIZE bytes per transfer, fp->rx.skb will never be reset and each completion will add another fragment via skb_add_rx_frag(). Once nr_frags exceeds MAX_SKB_FRAGS (default 17), subsequent frag stores overwrite memory adjacent to the shinfo on the heap. Drop the skb and account a length error when the frag limit is reached, matching the fix applied in t7xx by commit f0813bcd2d9d ("net: wwan: t7xx: fix potential skb->frags overflow in RX path").

