Katalog CVE

CVE-2025-38413

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

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

Streszczenie

W sterowniku virtio-net w jądrze Linux wykryto błąd w sprawdzaniu długości ramki w funkcji buf_to_xdp dla XSK (XDP Socket). Dla pierwszego bufora długość ramki była nieprawidłowo porównywana z wartością powiększoną o vi->hdr_len, co mogło prowadzić do przekroczenia rozmiaru alokowanego fragmentu.

Ocena ryzyka

Podatność może powodować uszkodzenie danych lub awarię systemu podczas przetwarzania pakietów XDP w środowiskach wirtualizacji z użyciem virtio-net i XSK.

Rekomendacja

Zastosuj łatkę z jądra Linux, która dodaje dodatkowy argument do buf_to_xdp w celu rozróżnienia pierwszego bufora od pozostałych. Zaktualizuj jądro do wersji zawierającej poprawkę.

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: xsk: rx: fix the frame's length check When calling buf_to_xdp, the len argument is the frame data's length without virtio header's length (vi->hdr_len). We check that len with xsk_pool_get_rx_frame_size() + vi->hdr_len to ensure the provided len does not larger than the allocated chunk size. The additional vi->hdr_len is because in virtnet_add_recvbuf_xsk, we use part of XDP_PACKET_HEADROOM for virtio header and ask the vhost to start placing data from hard_start + XDP_PACKET_HEADROOM - vi->hdr_len not hard_start + XDP_PACKET_HEADROOM But the first buffer has virtio_header, so the maximum frame's length in the first buffer can only be xsk_pool_get_rx_frame_size() not xsk_pool_get_rx_frame_size() + vi->hdr_len like in the current check. This commit adds an additional argument to buf_to_xdp differentiate between the first buffer and other ones to correctly calculate the maximum frame's length.

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