Linux kernel mlx5eにXSKバッファ二重解放の欠陥、修正版あり
Summary
Linux kernelのNVIDIA(Mellanox)系NICドライバ mlx5e に、AF_XDPのゼロコピー受信でメモリ上の受信バッファが誤って二重に扱われる欠陥が見つかりました。該当するのは mlx5 系NICでAF_XDPを使う環境で、修正版は6.6.160、6.12.113、6.18.57、7.2.11です。実際の攻撃での悪用は現時点で明らかになっていないため、対象環境かどうかを確認したうえで、カーネルの更新を計画してください。
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
Linux kernelのNVIDIA(Mellanox)系NICドライバ mlx5e に、AF_XDPのゼロコピー受信でメモリ上の受信バッファが誤って二重に扱われる欠陥が見つかりました。該当するのは mlx5 系NICでAF_XDPを使う環境で、修正版は6.6.160、6.12.113、6.18.57、7.2.11です。実際の攻撃での悪用は現時点で明らかになっていないため、対象環境かどうかを確認したうえで、カーネルの更新を計画してください。
Affected packages
| Ecosystem | Package | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | — | — |
| Linux | Kernel |
≥ 6.4.0, < 6.6.160 ≥ 6.7.0, < 6.12.113 ≥ 6.13.0, < 6.18.57 ≥ 6.19.0, < 7.2.11 |
6.6.160 6.12.113 6.18.57 7.2.11 |
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2026-99079 linux Fixed in: 6.12.113-1
Original description The description as published by the source.
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.
Source: Linux kernel CVE announcements NVD GitHub Advisory
References
- advisory nvd.nist.gov
- advisory github.com
- LINUX-CVE-ANNOUNCE CVE-2026-99079: net/mlx5e: Prevent stale XSK buffer release on refill retry
- package git.kernel.org
- web git.kernel.org
- web git.kernel.org
- web git.kernel.org
- web git.kernel.org
- web git.kernel.org
- web github.com