Live › vulnerability › CVE-2026-99079
Go to dashboardIn the Linux mlx5e driver, a partially failed refill of an AF_XDP receive ring can leave a stale buffer pointer that is freed again on retry. The sources report that this causes the same UMEM frame to be published twice, which can corrupt packet data.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-23 21:57 UTC. All times on this page are UTC.
Hosts running a Linux kernel with the mlx5e driver (Mellanox/NVIDIA ConnectX NICs) that use AF_XDP zero-copy sockets with legacy cyclic receive queues are the ones the report describes. Systems without mlx5 NICs or without AF_XDP zero-copy receive are not described as affected. The sources do not state which kernel versions carry the flaw.
No product ranges from the sources yet.
Each row is the first time that source carried this signal. The analyst’s rows are its own findings.
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.
This page as .md · .json · in your agent: get_signal("CVE-2026-99079")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.