Linux Distros 未修補弱點:CVE-2026-99081

critical Nessus Plugin 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] 錯誤 addr 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; } 映射 = 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) | 旗標 |TX_BD_FLAGS_PACKET_END);因此,NIC DMA 引擎會被指示從只有 42 個位元組被 DMA 對應的區域讀取 52 個位元組。如果 skb->data 在 4KB 頁面的邊界附近結束 (在下一頁的「填充」位元組內),則硬體 DMA 讀取會溢位到未對應的相鄰頁面,從而觸發 IOMMU 錯誤。
此問題在提交 447cbe95ebb9 (vlan:修正切換硬體 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

Plugin 詳細資訊

嚴重性: 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