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

critical Nessus 插件 ID 371511

简介

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

描述

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

- net:始终分析 __virtio_net_hdr_to_skb() 中的 GSO 数据包 提交 9e8db5913264(net:避免不受信任的 GSO 验证中的误报) 在不VIRTIO_NET_HDR_F_NEEDS_CSUM __virtio_net_hdr_to_skb() 中对 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:按任务 poc/133 读取的大小为 2 的 skb_gso_transport_seglen 中的 slab-out-of-bound 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(加上用于 IFF_TUN 的 skb->protocol)。在 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() 之后,验证keys.basic.n_proto是否符合hdr_gso_type。(CVE-2026-98954)

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

解决方案

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

另见

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

插件详情

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