一条恶意压缩消息,不用登录、不用账号,就能让攻击者的代码在你的服务器上跑起来。这就是刚披露的 CVE-2026-111497,补丁已经出了。
这个漏洞是在 AI 红队测试里被发现的:Brotli 解压环节出了问题,一条精心构造的压缩消息就能击穿防线。
谁会中招
接受压缩请求的服务器;拉取压缩响应的客户端,连 curl –compressed 也在内;Node.js、Bun、Envoy、Istio,以及任何内嵌了 Brotli 的软件。
它是怎么漏网的
根本原因早在今年 2 月就已经在源码里修掉了,但当时没人意识到这是个安全漏洞,也没有发新版本。于是所有内嵌 Brotli 的应用都得跟着升级一遍才算真正堵上。
今天就该做的事
升级 Node.js:22、24、26 三条线都有已修复的版本;Bun、Envoy、Istio 同样升级。暂时升不了的,先拒掉 Content-Encoding: br 的请求,并关掉 HTTP 客户端里的 Brotli 自动解码。改完之后重启或重新部署所有服务、Worker 和副本。
两个容易踩的坑
只从 Accept-Encoding 里去掉 br 没用;只在 CDN 上关掉 Brotli 也不够。
最后还要验证
核对线上跑着的构建是不是已修复版本,确认 br 请求确实被拒、gzip 还能正常工作。
Agent 现在已经能自己找出漏洞了,但部署修复这一步,还得人来做。