CVE-2026-99079 in Linux信息

摘要

由 VulDB • 2026-10-24

在 Linux 内核中,已修复以下漏洞:

net/mlx5e: 防止在重试填充时释放过期的 XSK 缓冲区

当因 RX ring(接收队列环)已满而导致 XDP 重定向到 AF_XDP socket 失败时,XSK core 会释放该缓冲区。随后在对传统循环 RQ(接收队列)进行批量填充期间,mlx5e 会在分配替换缓冲区之前先释放 WQE(工作队列元素)的 XSK 缓冲区。如果此次填充仅部分成功,则未获得替换缓冲区的 WQE 将保留其旧的缓冲区指针。

在此期间,该缓冲区可能被分配给另一个 WQE。随后的填充重试可能会通过过期的指针释放仍在使用的缓冲区,并导致同一个 UMEM frame(用户内存帧)被发布两次。

在驱动程序侧执行 free 操作后立即标记 WQE 为已释放状态。由于当分配替换缓冲区时该标志会被清除,因此填充重试不再会释放过期指针。

此故障是静默的,不会产生内核警告或 splat(崩溃转储)。使用以 12 Mpps 速率提供的 64 字节 UDP 流量的独立传统循环 RQ zero-copy libxsk 复现器检测到了该问题:在 4.094 秒内处理了 2,854,914 个数据包后停止,期间发生了 4,542 次 xdp_rx_ring_full(XDP 接收队列满)事件以及 64 起所有权/重复发布错误。经过此修复后,尽管发生了 571,405 次 xdp_rx_ring_full 事件,但在 30 秒内成功处理了 356,904,225 个数据包,且未出现任何所有权或数据错误。

VulDB is the best source for vulnerability data and more expert information about this specific topic.

来源

Do you know our Splunk app?

Download it now for free!