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

critical Nessus 插件 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 walk 假设 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 的情况下运行,因此它是错误而不是错误。
通过 netns 中的 CAP_NET_RAW(碎片整理点位于 GSO 点之前)以及从其 VMM 转发virtio_net_hdr到分流器的客户机,可以访问相同的情况。通过提交 3dcbdb134f32(net:gso:修复拆分具有线性头 frag_list 的破坏的 skb 时gso_size skb_segment splat)和提交 9e4b7a99a03a(net:gso:修复具有混合头分配类型的 frag_list 上的错误)添加的 SKB_GSO_DODGY frag_list 检查未涵盖它:当 gso_size == skb_headlen(head), 由发件人控制。进入 frag 队列的 skb 根据定义是 IP 片段,无法合法地携带 GSO 状态:GRO 在片段化之前不会合并片段和堆栈段,因此只有不受信任的源受到影响。自提交 f43798c27684(tun:允许 GSO 使用 virtio_net_hdr)后即可实现此目的,这是让用户空间将 GSO 元数据附加到 IP 片段的第一个路径。重置排队时每个片段的 GSO 字段,在 IPv4、IPv6、nf_conntrack_reasm 和 6lowpan 重组共享的 inet_frag_queue_insert() 中;然后,重新组装的 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

插件详情

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