Katalog CVE

CVE-2026-99079

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux sterownik net/mlx5e może zwolnić nieaktualny bufor XSK podczas ponownej próby uzupełnienia w legacy cyclic RQ. Gdy uzupełnienie powiedzie się tylko częściowo, WQE bez zamiennika zachowuje stary wskaźnik do bufora, który może zostać przydzielony innemu WQE, co prowadzi do zwolnienia aktywnego bufora i podwójnego opublikowania tej samej ramki UMEM. Poprawka oznacza WQE jako zwolniony natychmiast po zwolnieniu po stronie sterownika.

Ocena ryzyka

Może to powodować ciche błędy własności i podwójne publikowanie danych, prowadząc do uszkodzenia danych lub problemów z pamięcią w środowiskach AF_XDP zero-copy. Wymaga lokalnej konfiguracji i ruchu sieciowego.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę. W środowiskach wykorzystujących AF_XDP zero-copy z mlx5e monitoruj błędy własności buforów.

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: net/mlx5e: Prevent stale XSK buffer release on refill retry When an XDP redirect to an AF_XDP socket fails because its RX ring is full, the XSK core frees the buffer. During the subsequent batched refill of a legacy cyclic RQ, mlx5e also releases the WQE's XSK buffer before allocating a replacement. If that refill succeeds only partially, a WQE left without a replacement retains its old buffer pointer. The buffer can meanwhile be allocated to another WQE. A later refill retry can then free the live buffer through the stale pointer and publish the same UMEM frame twice. Mark the WQE as released immediately after the driver-side free. The flag is already cleared when a replacement buffer is assigned, so refill retries no longer release stale pointers. The failure is silent and produces no kernel warning or splat. A standalone legacy cyclic-RQ zero-copy libxsk reproducer, using 64-byte UDP traffic offered at 12 Mpps, detected it: stock stopped after 2,854,914 packets in 4.094 seconds, with 4,542 xdp_rx_ring_full events and 64 ownership/double-publication errors. With this change it processed 356,904,225 packets in 30 seconds despite 571,405 xdp_rx_ring_full events, with no ownership or data errors.

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