Katalog CVE

CVE-2026-64552

WysokieCVSS 8.4
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.14%

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

Streszczenie

W jądrze Linux w sterowniku virtio-net funkcja receive_big() sprawdza długość ogłoszoną przez urządzenie zbyt luźno, co pozwala złośliwemu backendowi virtio na zapis poza zakresem tablicy frags w skb. Może to prowadzić do zapisu NULL wskaźnika i potencjalnego wykorzystania.

Ocena ryzyka

Organizacja używająca wirtualnych interfejsów sieciowych virtio może być narażona na atak złośliwego backendu, który może spowodować awarię systemu lub potencjalnie wykonanie kodu.

Rekomendacja

Zastosuj łatkę jądra Linux, która ogranicza sprawdzanie długości do rzeczywistego rozmiaru ogłoszonego przez add_recvbuf_big().

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: virtio-net: fix len check in receive_big() receive_big() bounds the device-announced length by (big_packets_num_skbfrags + 1) * PAGE_SIZE. That is still too loose: add_recvbuf_big() sets sg[1] to start at offset sizeof(struct padded_vnet_hdr) into the first page, so the chain actually carries hdr_len + (PAGE_SIZE - sizeof(padded_vnet_hdr)) + big_packets_num_skbfrags * PAGE_SIZE bytes -- 20 bytes less than the check allows for the common hdr_len == 12 case. A malicious virtio backend can announce a len in that gap. page_to_skb() then walks one frag past the page chain, storing a NULL page->private into skb_shinfo()->frags[MAX_SKB_FRAGS], which is both an out-of-bounds write past the static frag array and a NULL frag handed up the rx path. Bound len by the size add_recvbuf_big() actually advertised.

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