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

critical Nessus Plugin ID 341290

概要

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

說明

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

- inet: frags:在重組之前從片段中剝離 GSO 狀態 virtio_net_hdr(tun/tap 或帶有 PACKET_VNET_HDR 的AF_PACKET)可以將 IPv4 或 IPv6 片段標記為 GSO;沒有什麼與gso_type與frag_off有關。
inet_frag_reasm_prepare()/inet_frag_reasm_finish() 保留第一個片段的 skb 作為重組資料包的頭部,包括其 shinfo->gso_size/gso_type/gso_segs,並將剩餘片段鏈結在frag_list上,並使用它們到達的任何線性/分頁佈局。因此,在 ip_defrag() (ip_local_deliver()、nf_defrag_ipv4 等) 之後,重組的 skb 仍然聲稱是 GSO (SKB_GSO_DODGY),而下一個軟體分段點 - 本地交付的 udp_rcv_segment()、validate_xmit_skb() 或 ip_finish_output_gso() 慢速路徑 - 將其交給 skb_segment()。skb_segment() 的 frag_list 遍歷假設 GRO 形狀的輸入並命中其其中一個 BUG_ON()。無權限的使用者在其自己的 userns 中對 tap 進行兩次寫入就足夠了:net/core/skbuff.c:4899 的核心錯誤!哎呀:無效的操作碼:0000 [#1] SMP KASAN NOPTI CPU:0 UID:1000 PID:82 通信:poc 未受污染 7.2.0-pentest+ #2 RIP:0010:skb_segment+0x20ca/0x48b0 呼叫追蹤:
<TASK> __udp_gso_segment+0x29a/0x27d0 udp4_ufo_fragment+0x458/0x6c0 inet_gso_segment+0x429/0x1340 skb_mac_gso_segment+0x233/0x4f0 __skb_gso_segment+0x308/0x660 udp_queue_rcv_skb+0x440/0xad0 udp_unicast_rcv_skb+0xc7/0x2c0 udp_rcv+0x16ce/0x2260 ip_protocol_deliver_rcu+0x197/0x2d0 ip_local_deliver+0x430/0x690 ip_rcv+0x16f/0x1f0 __netif_receive_skb_one_core+0x15e/0x1c0
__netif_receive_skb+0x1e/0x110 netif_receive_skb+0xf6/0x5c0 tun_rx_batched.isra.0+0x3ab/0x790 tun_get_user+0x17c3/0x3550 tun_chr_write_iter+0xba/0x1b0 vfs_write+0x646/0x1130 </TASK> 核心錯誤 - 未同步:中斷中的致命異常 此動作會在停用 BH 的情況下執行,因此這是錯誤而不是 oops。
在 netns 中,重組點位於 GSO 點之前,以及從其 VMM 將 virtio_net_hdr 轉送至分流器的客體中,CAP_NET_RAW也可以達到相同的目的。提交 3dcbdb134f32 (net: gso: 修正分割具有線性頭 frag_list) gso_size 殘缺 skb 時的 skb_segment splat) 和提交 9e4b7a99a03a (net: gso:修正具有混合頭配置類型的frag_list的錯誤) 新增的 SKB_GSO_DODGY frag_list 檢查並未涵蓋它:當 gso_size == skb_headlen(head) 時,頁面備份的頭會跳過它們,而 kmalloc 頭會跳過它們, 由寄件者控制。根據定義,進入片段佇列的 skb 是 IP 片段,無法合法地攜帶 GSO 狀態:GRO 不會在片段化之前合併片段和堆疊區段,因此只有不受信任的來源會受到影響。自從提交 f43798c27684(tun:允許使用 virtio_net_hdr 的 GSO)以來,這已經可以實現,這是允許使用者空間將 GSO 中繼資料附加到 IP 片段的第一個路徑。在 IPv4、IPv6、nf_conntrack_reasm 和 6lowpan 重組共用的 inet_frag_queue_insert() 中,在排入佇列時重設每個片段的 GSO 欄位;然後,重新組裝的 skb 的負責人和frag_list成員都沒有攜帶它們(成員也很重要:ip_do_fragment()/ip6_fragment() 快速路徑按原樣發送它們)。頭部可能保持CHECKSUM_PARTIAL;這在接收時已經被接受,並在轉發時由 ip_do_fragment()/ip6_fragment() 中的 skb_checksum_help() 解析。在 net.git (dc4b95b8fee9) 之上進行測試,x86_64:上面的 tap 再現器,另外兩個到達 BUG_ON(i >= nfrags) 和 BUG_ON(!list_skb->head_frag) 的 IPv4 frag_list幾何圖形,以及一個 IPv6 片段標頭變體 (udp6_ufo_fragment()),每個都使未修補的核心出現錯誤;使用此修補程式時,所有四個資料包都完好無損地交付,並且不會記錄任何內容。(CVE-2026-80590)

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

解決方案

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

另請參閱

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

Plugin 詳細資訊

嚴重性: Critical

ID: 341290

檔案名稱: unpatched_CVE_2026_80590.nasl

版本: 1.1

類型: Local

代理程式: unix

系列: Misc.

已發布: 2026/8/28

已更新: 2026/8/28

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

風險資訊

VPR

風險因素: Low

分數: 3

百分位數: 23.65

CVSS v2

風險因素: High

基本分數: 7.5

時間性分數: 6.4

媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS 評分資料來源: CVE-2026-80590

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:11.0, cpe:/o:debian:debian_linux:12.0, cpe:/o:debian:debian_linux:13.0, cpe:/o:debian:debian_linux:14.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/8/28

參考資訊

CVE: CVE-2026-80590