Skip to content
A detailed explainer is available in Japanese. Read the Japanese explainer
Critical 9.8

Linux kernel mlx5eにXSKバッファ二重解放の欠陥、修正版あり

CVE-2026-99079 First seen on SecPulse

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

EcosystemPackageAffectedFixed
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

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

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details