Description
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.
Published: 2026-10-23
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Use‑after‑free leading to duplicate publication of UMEM frames and potential data corruption
Action: Upgrade Kernel
AI Analysis

Impact

When XDP traffic is redirected to an AF_XDP socket, a full receive ring causes the kernel to free the buffer. The mlx5e driver, during a batching refill of a legacy cyclic request queue, may free that same buffer again before a replacement is assigned. If the refill is only partially successful, the work queue entry keeps a stale pointer to a buffer that might have already been reallocated to another work item. A later refill retry can free the live buffer through this stale reference, causing the same UMEM frame to be published twice. The flaw is silent, gives no kernel warning or crash, and can lead to data corruption or loss of packet integrity.

Affected Systems

All Linux kernel environments running the Mellanox mlx5e network driver that contain the unpatched code are affected. Any system that offloads XDP to AF_XDP sockets via this driver is vulnerable, regardless of Linux distribution or kernel version built before the patch commit.

Risk and Exploitability

The CVSS score is 9.8 and the EPSS score is under 1 %, indicating that the vulnerability is severe but unlikely to be widely exploited yet. It is not listed in CISA’s KEV catalog. The flaw requires local packet processing; high traffic volumes speed the race condition, making the risk significant for high‑throughput network nodes. Because the failure is silent and not easily detected, the potential impact on confidentiality, integrity, or availability is high, even without an active exploit.

Generated by OpenCVE AI on October 27, 2026 at 09:40 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the system to a Linux kernel release that includes the mlx5e patch that defers buffer release until after the driver‑side free has been acknowledged.
  • Confirm that the driver marks a work queue entry as released immediately after freeing the buffer so that stale pointers cannot be reused in partial refills.
  • Continuously monitor kernel logs for xdp_rx_ring_full events and any duplicate‑frame indicators; employ packet‑integrity checks or traffic‑anomaly detection as an early warning for lingering issues.

Generated by OpenCVE AI on October 27, 2026 at 09:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-9018-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9018-2 Linux kernel (HWE) vulnerabilities
Ubuntu USN Ubuntu USN USN-9019-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9020-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9022-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9023-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9024-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9025-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9026-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9039-1 Linux kernel (Azure CVM) vulnerabilities
Ubuntu USN Ubuntu USN USN-9040-1 Linux kernel (Low Latency NVIDIA) vulnerabilities
Ubuntu USN Ubuntu USN USN-9066-1 Linux kernel (HWE) vulnerabilities
History

Tue, 27 Oct 2026 04:30:00 +0000


Sat, 24 Oct 2026 17:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 24 Oct 2026 14:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Fri, 23 Oct 2026 22:15:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Fri, 23 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 23 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
Description 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.
Title net/mlx5e: Prevent stale XSK buffer release on refill retry
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-24T14:10:21.247Z

Reserved: 2026-09-25T10:25:14.389Z

Link: CVE-2026-99079

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:32.040

Modified: 2026-10-24T14:16:54.940

Link: CVE-2026-99079

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-23T00:00:00Z

Links: CVE-2026-99079 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-27T09:45:06Z

Weaknesses
  • CWE-1341

    Multiple Releases of Same Resource or Handle