Linux Distros 未修补的漏洞:CVE-2026-99081

critical Nessus 插件 ID 371489

简介

Linux/Unix 主机上安装的一个或多个程序包存在漏洞,但供应商表示不会修补此漏洞。

描述

Linux/Unix 主机中安装的一个或多个程序包受到一个漏洞影响,而供应商没有提供补丁程序。

- bnxt_en:修复填充小数据包的 DMA 映射长度 Stefan Fleischmann 报告 在 VLAN/macvlan 接口上传输数据包时,NetXtreme-E NIC 上 BCM57412 存在 Intel IOMMU DMA 读取错误: DMAR: [DMA 读取NO_PASID] 请求设备 [18:00.0] 错误地址 0xfc499000 [错误原因 0x06] 未设置 PTE 读取访问权限 bnxt_en 0000:18:00.0 eno1np0: 放弃消息 {0xb4 0x41a} len: 0 由于固件状态:0x2000001 ...
NETDEV 监视程序:eno1np0 (bnxt_en):传输队列 0 超时 错误地址 (0xfc499000) 位于恰好 4KB 页面边界上,指向 DMA 读取缓冲区溢出。在 bnxt_start_xmit() 中,填充小于 BNXT_MIN_PKT_SIZE(52 字节)的数据包,例如 42 字节未标记的 ARP 帧:if (length < BNXT_MIN_PKT_SIZE) { pad = BNXT_MIN_PKT_SIZE - length; if (skb_pad(skb, pad)) goto tx_kick_pending; length = BNXT_MIN_PKT_SIZE; } mapping = dma_map_single(&pdev->dev, skb->data、len、DMA_TO_DEVICE);...
dma_unmap_len_set(tx_buf, len, len);但是,“len”在 skb_headlen(skb) 之前初始化(例如 42 字节),并且在填充后保持不调整。因此,dma_map_single() 和 dma_unmap_len_set() 仅映射和跟踪 42 个字节。随后,使用填充长度对硬件 TX 缓冲区描述符进行编程:
txbd->tx_bd_len_flags_type = cpu_to_le32(((len + pad) << TX_BD_LEN_SHIFT) | flags |TX_BD_FLAGS_PACKET_END);因此,指示 NIC DMA 引擎从仅 42 字节为 DMA 映射的区域读取 52 字节。如果 skb->data 在 4KB 页面的边界附近(在下一页的“pad”字节内)结束,则硬件 DMA 读取会溢出到未映射的相邻页面,从而触发 IOMMU 错误。
此问题在提交 447cbe95ebb9(vlan:修复切换 HW VLAN 卸载时的skb_under_panic和争用)之后暴露,因为预留额外的 VLAN 余量会将LL_RESERVED_SPACE从 48 个字节舍入到 64 个字节,从而改变了 skb->data 偏移并可能导致小帧直接靠在页面边界上。在对 skb_shinfo(skb)->nr_frags 进行采样之前,通过在 bnxt_start_xmit() 中使用 skb_put_padto(skb, BNXT_MIN_PKT_SIZE) 修复此问题,因为填充可能会线性化 skb。这可确保 skb->len 和 skb_headlen(skb) 反映填充的大小,使 dma_map_single() 映射完整缓冲区,且描述符长度一致。
这还会删除临时“pad”变量和掩码逻辑。填充在 SW USO 分支之后完成,否则 bnxt_sw_udp_gso_xmit() 会将该填充视为 UDP 负载并在额外的段中发送。请注意,SW USO 段仍未填充:使用 IPv4 时,携带少于 10 字节 UDP 负载(小gso_size或最后一段短)的段将作为短于 BNXT_MIN_PKT_SIZE 的帧发送。这是单独的问题,留待后续修补程序。(CVE-2026-99081)

请注意,Nessus 依赖供应商报告的程序包是否存在进行判断。

解决方案

目前尚未有任何已知的解决方案。

另见

https://security-tracker.debian.org/tracker/CVE-2026-99081

插件详情

严重性: Critical

ID: 371489

文件名: unpatched_CVE_2026_99081.nasl

版本: 1.1

类型: Local

代理: unix

系列: Misc.

发布时间: 2026/10/23

最近更新时间: 2026/10/23

支持的传感器: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

风险信息

VPR

风险因素: Low

分数: 3

百分位: 23.71

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 6.4

矢量: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS 分数来源: CVE-2026-99081

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 9

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

时间矢量: CVSS:3.0/E:U/RL:U/RC:C

漏洞信息

CPE: cpe:/o:debian:debian_linux:12.0, p-cpe:/a:debian:debian_linux:linux

必需的 KB 项: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched, Host/OS/identifier

易利用性: No known exploits are available

漏洞发布日期: 2026/10/23

参考资料信息

CVE: CVE-2026-99081