Comodo Internet Security 曝高危零日漏洞 ComoDoS:单个 IPv6 数据包即可触发 Windows 蓝屏死机

网络安全领域再传警报。知名安全研究员 Marcus Hutchins 近日披露了一个潜伏在 Comodo Internet Security 防火墙驱动中的严重缺陷------这个被命名为 ComoDoS 的零日漏洞,能让远程攻击者仅凭一个精心构造的 IPv6 数据包,就直接让目标 Windows 系统陷入崩溃,而且全程绕过所有防火墙规则。

更令业界担忧的是,Comodo 方面在收到多次漏洞披露后至今没有任何回应。Marcus Hutchins 已经向 Comodo 安全团队提交了完整的根本原因分析、补丁建议以及概念验证代码,但截至目前,官方补丁仍然遥遥无期。


防火墙驱动里的"阿喀琉斯之踵"

问题的根源藏在 Inspect.sys 这个内核级防火墙驱动里。作为 Comodo Internet Security 的核心组件,它负责在数据包进入系统时进行深度检测,决定哪些流量可以放行、哪些应当拦截。

IPv6 协议在设计时引入了"扩展头"机制------这些可选头部串联在固定的 40 字节 IPv6 基础头部和上层协议(如 TCP、UDP)之间,用于携带路由提示、分片信息、目的地选项等附加数据。

Inspect.sys 在解析这些扩展头时,会从 IPv6 固定头部读取 payload_length 字段,然后逐个遍历扩展头,将每个头的长度从该变量中扣除。这本身是一个常规的解析流程,但代码中却遗漏了最关键的一步:从未验证 payload_length 的合理性。

如果攻击者故意把 IPv6 的载荷长度设得比所有扩展头的总长度还要小,那个无符号 64 位的 payload_length 变量就会发生灾难性的整数下溢------数值从 0 直接回绕到约 18.4 万亿亿(0xFFFFFFFFFFFFFFF8) 。这个荒谬的超大数值随后被用于内存操作,直接触发内核崩溃,也就是我们熟悉的 Windows 蓝屏死机(BSOD)。


防火墙规则形同虚设

这个漏洞最棘手的地方在于它的"穿透性"。防火墙驱动必须先完成 TCP/IP 头部的解析,才能根据端口、协议、方向等条件判断是否执行拦截。而 ComoDoS 的攻击恰恰发生在解析阶段------无论你把所有端口封得多么严实,数据包都会在规则生效之前就把系统搞崩溃。

换句话说,传统的端口封锁、入站规则、IP 黑名单,对这类攻击完全无效。攻击者不需要和目标建立任何合法连接,也不需要目标开放特定端口,一个孤零零的 IPv6 数据包飞过来,系统就直接躺平。

Marcus Hutchins 在 PoC 中特意选用了目标选项扩展头(Destination Options Header,类型 60),原因很实际:这种扩展头在路由器层面的过滤最少,恶意数据包穿越互联网到达目标的成功率最高。


四行 Python 代码就能让系统崩溃

概念验证的简洁程度令人咋舌。利用 Scapy 库,整个攻击代码仅需寥寥数行:

Python

复制代码
ext = IPv6ExtHdrDestOpt(nh=6, options=[PadN(optdata=b"\x00" * 8)])
tcp = TCP(sport=1337, dport=80, flags="S", seq=0, ack=1, window=0x2000)
ipv6 = IPv6(dst=dst_ip, nh=60, hlim=64, plen=8)
pkt = ipv6 / ext / tcp
send(pkt)

plen=8 把载荷长度压到极低,而扩展头本身的长度却超过了这个值。两者一相减,下溢瞬间发生。接下来的内核内存操作因为拿到了一个近乎无限大的长度值,直接触发页面错误,系统以 DISPATCH_LEVEL 级别崩溃,连容错的机会都没有。


不止蓝屏:同一下溢还埋着更深的隐患

除了稳定的远程拒绝服务攻击(DoS)原语,Marcus Hutchins 还在同一下溢路径中发现了两种更复杂的内存损坏可能。

越界读取(OOB Read) 发生在 WebDAV/HTTP 工件扫描器内部。下溢后的超大长度值在这里被截断为 16 位,上限约 65 KB。虽然数值被砍了一刀,但非法的内存访问仍然会导致页面错误,系统照样崩溃。

越界写入(OOB Write) 则需要先完成完整的 TCP 三次握手才能触发。这条路径把下溢值截断为 32 位,产生的内核池溢出高达 4 GB 。考虑到标准网络数据包的最大尺寸只有 65 KB,目前几乎没有办法把溢出控制到"刚好不崩溃"的程度。这意味着,虽然从理论上存在进一步利用的空间,但远程代码执行(RCE)在当前条件下可行性极低。


从旧版驱动里找到的线索

这个漏洞的发现过程本身也值得一提。Marcus Hutchins 当时正在研究 BYOVD(Bring Your Own Vulnerable Driver,自带易受攻击驱动)攻击面,并借助 AI 辅助分析流程对多款安全软件的驱动进行审计。

在检查 Comodo 的旧版驱动时,他注意到了一些架构层面的设计缺陷。这些发现促使他对手头的最新版 Inspect.sys 进行人工深度分析,最终锁定了 IPv6 扩展头解析器中的这个整数下溢问题。可以说,AI 辅助筛查提供了方向,而人工的精细审查才挖出了真正的炸弹。


在补丁到来之前,企业能做些什么

由于官方补丁尚未发布,依赖 Comodo Internet Security 的组织需要采取一些临时措施来降低风险:

  • 监控异常 IPv6 流量 :重点关注包含畸形扩展头的数据包,尤其是目标选项头(Type 60)出现的频率和来源。

  • 网络层过滤:在边界路由器或防火墙上配置规则,丢弃格式异常的 IPv6 扩展头数据包,尽可能在入口端就把恶意流量掐掉。

  • 评估替代方案:对于安全要求极高的环境,在补丁发布前可以考虑临时调整端点防护策略,或部署额外的网络入侵检测层。

相关推荐
梦到啥说啥2 小时前
Linux网络编程:TCP网络协议
网络·网络协议·tcp/ip
Shanks.6 小时前
2026 远程控制软件实测:ToDesk / 向日葵 / RustDesk / TeamViewer 在跨城与弱网下的真实差距
网络·远程工作·软件需求
曾令胜6 小时前
云服务器被攻击后分析恶意脚本修复漏洞
网络安全·安全威胁分析
Jeremy_WW6 小时前
802.3协议解读 06:117章节 RS 和 200GMII / 400GMII I
网络·网络协议·信息与通信·光模块·802.3协议
坤坤子吖7 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
顧棟7 小时前
INFINI Gateway 服务器端口重用(SO_REUSEPORT)实现与分析
网络·gateway
沫璃染墨8 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
LabVIEW开发9 小时前
Omron PLC:接 LabVIEW 常踩的 5 个坑
服务器·网络·labview·labview知识·labview功能·labview程序
南京码讯光电技术有限公司9 小时前
工业5G/4G路由器怎么选?核心参数解析与工业级网关选购指南
网络·智能路由器
爱和冰阔落9 小时前
【Linux网络】JsonCpp 怎么实现序列化?从 Request/Response 到网络计算器消息设计
linux·运维·网络·php