Stale XSK buffer release in Linux kernel mlx5e driver
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 5 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
The Linux kernel from 6.4 is affected by a flaw in the net/mlx5e driver that handles AF_XDP zero-copy receive rings. After a partial batched refill of a legacy cyclic RQ, a WQE keeps a stale buffer pointer, so a later refill retry can free a buffer that is now in use and publish the same UMEM frame twice. A remote attacker needs no privileges and no user interaction, and can cause high confidentiality, integrity and availability impact.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Upgrade the Linux kernel to 6.6.160, 6.12.113, 6.18.57, 7.2.11 or 7.3, depending on the release series in use. Red Hat lists Red Hat Enterprise Linux 6 with no fix planned, and Red Hat Enterprise Linux 9, Red Hat Enterprise Linux 10, Red Hat OpenShift Container Platform 4 and Red Hat OpenShift Container Platform 5 with no fix available.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA Linux (Linux) Fixed in 6.6.160, 6.12.113, 6.18.57, 7.2.11, 7.3
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet: Fix deferred |
Not affected: 4 products
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Red Hat OpenShift Container Platform 4
Timeline
- 2026-10-23 Threatist record created from CVE-2026-99079
- 2026-10-23 Alias added: GHSA-7w5x-75mg-qr73
- 2026-10-24 CVSS score added · CNA
- 2026-10-24 Priority changed: LOW → MEDIUM
- 2026-10-26 Affected versions changed · Red Hat
- 2026-10-26 CVSS score added · Red Hat
- 2026-11-06 Affected versions changed · Red Hat
References
Other 5
- https://git.kernel.org/stable/c/32bbb870078d467479965c21bbc4960c57eea208
- https://git.kernel.org/stable/c/34d1db2b18e1c1d189e34dd51923e031815f88e3
- https://git.kernel.org/stable/c/639522e5056cade578a324acfa993ec6c9f7f5dc
- https://git.kernel.org/stable/c/655f47477054d19de3b138840be229a1a4490d0c
- https://git.kernel.org/stable/c/e01620844c5c88b6fcf819d171df8e3976a0e76f
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-99079 · CVE Program
- CVE-2026-99079 · NVD
- FIRST EPSS
- GHSA-7w5x-75mg-qr73 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-99079 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences