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

critical Nessus Plugin ID 371511

概要

Linux/Unix 主機上安裝的一個或多個套件存有弱點,廠商表示將不會修補。

說明

Linux/Unix 主機上安裝了一個或多個受到弱點影響的套件,且廠商未提供可用的修補程式。

- net:一律剖析 __virtio_net_hdr_to_skb() 中的 GSO 封包 Commit 9e8db5913264 (net:避免不受信任的 GSO 驗證中的誤報) 在 __virtio_net_hdr_to_skb() 中不VIRTIO_NET_HDR_F_NEEDS_CSUM 的 GSO 封包進行流量剖析之前,新增了「& skb->network_header」檢查,因為某些調用端 (例如 tun_get_user()、tun_xdp_one() virtnet_receive_done() 和 raw_verify_header()) 在初始化 skb->network_header 和 skb->dev 之前呼叫 virtio_net_hdr_*_to_skb()。因為 __alloc_skb() 和
__build_skb_around() 將 skb->network_header 零初始化為 0(與初始化為 ~0U 的 mac_header 和 transport_header 不同),這四個調用方始終具有 skb->network_header == 0 並在 __virtio_net_hdr_to_skb() 中繞過流剖析。更一般地說,skb->network_header 是 skb->head 的偏移量 (其中,只要 skb_headroom(skb) 為 0,0 也是有效的偏移量),而不是布林旗標。每當跳過 'if (gso_type &; skb->network_header)' 分支時,後援 'else if (gso_type)' 只會拉取 nh_min_len + thlen (TCPv4 為 40 位元組),而沒有剖析封包,沒有驗證ip_proto或n_proto,也沒有設定 skb->transport_header。如果封包具有格式錯誤的網路標頭,則不會被拒絕,後續的 skb_probe_transport_header() 也會失敗,使 skb->transport_header 處於 ~0U (0xffff)。同樣地,如果 IPv4 封包攜帶 IP 選項 (ihl > 5) 或 IPv6 封包攜帶擴充標頭,則僅提取 nh_min_len + thlen 可能會將 TCP 標頭留在 skb->head 之外。在這兩種情況下,skb_gso_transport_seglen() 中的 tcp_hdrlen(skb) 都會越界讀取: 錯誤:KASAN:skb_gso_transport_seglen 中的 slab-out-of-bounds 依任務 poc/133 讀取大小 2 skb_gso_transport_seglen (net/core/gso.c:155) skb_gso_validate_mac_len (net/core/gso.c:270) tbf_enqueue (net/sched/sch_tbf.c:260) dev_qdisc_enqueue (net/core/dev.c:4227) __dev_queue_xmit (net/core/dev.c:4884) 此外, 在流量剖析之前,僅在「if(!skb->protocol)」內檢查 virtio_net_hdr_match_proto(),當調用方預先設定 skb->protocol 時,會跳過驗證,並拒絕外部 L2 通訊協定為 ETH_P_8021Q 或 ETH_P_8021AD 的 VLAN 標記框架。透過以下方式解決此問題: 1. 在 tun_get_user()、tun_xdp_one()、virtnet_receive_done() 和 raw_verify_header() 中virtio_net_hdr_*_to_skb()之前初始化 skb->dev 和 skb->network_header(加上 skb->protocol for IFF_TUN)。在 tun_get_user() 中,刪除IFF_TUN情況下的冗餘 skb_reset_mac_header(skb),因為 __virtio_net_hdr_to_skb() 會無條件重設mac_header。2. 移除 '&; skb->network_header' 和 'else if (gso_type)' 後援
__virtio_net_hdr_to_skb(),因此所有沒有VIRTIO_NET_HDR_F_NEEDS_CSUM的 GSO 封包都會進行流量剖析,將其傳輸標頭提取到線性資料中,並設定 skb->transport_header。3. 將 virtio_net_hdr_match_proto() 檢查移至 skb_flow_dissect_flow_keys_basic() 之後,根據hdr_gso_type驗證keys.basic.n_proto。(CVE-2026-98954)

請注意,Nessus 的判定取決於廠商所報告的套件是否存在。

解決方案

目前尚未有已知的解決方案。

另請參閱

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

Plugin 詳細資訊

嚴重性: Critical

ID: 371511

檔案名稱: unpatched_CVE_2026_98954.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-98954

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, cpe:/o:debian:debian_linux:13.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-98954