HTTP2Shell 漏洞范围再扩容!脱离 HTTP 链路,波及.NET/ClickHouse/FFmpeg/Apache Arrow
SDC2026 2026-10-26 18:07 上海

原被命名为 HTTP2Shell(Node2Shell)的高危漏洞 CVE-2026-111497,近期曝出重大新发现:风险根源并不在 HTTP 协议本身,而是 Brotli 解码器的越界写缺陷,该问题可以绕过 Web 流量场景,在.NET、FFmpeg、ClickHouse、Apache Arrow 多款主流组件中触发异常。
此前行业普遍只聚焦 Node.js 生态的修复,大量团队仅核查 Node 版本,很容易忽略其他依赖 Brotli 库的业务组件,存在大面积漏检风险。
JFrog 安全研究团队在 10 月 25 日公开了完整的验证结果:不同软件对 Brotli 库的调用方式有差异,漏洞触发后的表现各不相同,可造成程序崩溃、堆内存损坏、死循环 CPU 耗尽等多种后果。
漏洞底层原理
漏洞存在于 Google Brotli 解码器,受影响上游版本区间:Brotli 1.0.3 ~ 1.0.10 之前、1.1.0 ~ 1.1.1 之前、1.2.0 ~ 1.2.1 之前。畸形的块切换指令会让解码器误判需要持续读取输入,维持在非法状态,最终产生缓冲区越界写入。
各组件验证情况
ClickHouse:仅一条携带恶意 Brotli 压缩载荷的 HTTP 请求,即可直接让数据库服务进程发生段错误崩溃,正在执行的查询全部中断。研究披露时官方代码已合并修复,但尚未发布正式补丁包。
.NET:调用内置 Brotli 解压接口即可触发,两段式恶意流会破坏堆内存,抛出 SIGSEGV 段错误,直接杀死进程,普通托管异常机制无法捕获。
FFmpeg:攻击载体是特殊构造的 JPEG XL 图片,恶意 Brotli 数据藏在图片元数据中,经由 libjxl 解析时触发内存损坏。目前验证可控制损坏指针,但暂未实现稳定远程代码执行。
Apache Arrow(pyarrow):仅 534 字节的恶意输入,就会让 Brotli 解码逻辑进入无限循环,持续占满 CPU,任务卡死;修复版 Brotli 1.2.1 可快速拒绝该恶意载荷。
重要提醒
部分厂商会在不升级 Brotli 上游版本的情况下单独合入漏洞补丁,不能只依靠 Brotli 版本号判断是否安全,必须查看对应软件厂商的补丁公告。Node.js 侧补丁已先行发布:22.23.4、24.22.1、26.12.1 版本已修复该问题;其余组件需要等待各自的新版本。
自查建议
企业安全团队梳理业务时,重点追踪所有解压入口:不可信文件、前端传入缓冲区、内外网请求 / 响应体中的 Brotli 解压链路。扫描工具仅能定位调用链路,检出不代表一定可以远程利用,需要结合业务场景评估风险等级。
资讯来源:JFrog Security Research、Cybersecuritynews


球分享

球点赞

球在看
本文转载自微信公众号「看雪学院」,查看原文。版权归原作者所有,如有侵权请联系删除。