#安全资讯 安全公司报告 Brotli 数据压缩格式中的解码器漏洞,波及多种 HTTP 软件,安全公司将其称为 HTTP2Shell 漏洞。攻击者利用特制数据可以触发解码器异常区块切换,极端情况下可以引起远程代码执行。目前 Node.js、Python、Bun 以及 Brotli 上游都已经发布新版本进行修复。查看全文:https://ourl.co/127592
网络安全公司 Aikido Security 日前发布报告称,原先被称为 Node2Shell 的安全漏洞影响范围已经扩展到更多使用 Brotli 解压的 HTTP 软件,这家安全公司将其称为 HTTP2Shell 问题。
需要说明的是这个问题本身仍然是 Brotli 解码器漏洞并非新的 CVE,只是漏洞影响范围非常大,安全公司希望为这个问题设置专门的命名提高行业关注和推动软件更新进行修复。
Brotli 是谷歌开发的数据压缩格式并且常用于网页和 API 流量,此次出现的漏洞位于 Brotli 解码器:特制压缩数据可能触发异常的区块切换,让解码器错误处理输入并发生越界写入进而造成进程崩溃、内存信息泄露或在特定条件下执行攻击者代码。
因此使用 HTTP 本身不会自动触发漏洞,关键条件是软件运行着含有漏洞的 Brotli 解码器,并且还要对攻击者可以控制的数据进行解压。
Node.js 官方已经为 22.x、24.x 和 26.x 发布修复版本,修复版本分别为 22.23.4、24.22.1 和 26.12.1 版;Bun 在 1.4.4 版中修复相关解码器问题;Python 环境则应该将 Brotli 更新到 1.2.1 版,或将 brotlicffi 更新至 1.2.10 版。谷歌 Brotli 上游还发布 1.0.10、1.1.1 和 1.2.1 等修复版本。
这些版本属于不同的软件包和运行环境,安装其中一个更新不会自动修复其他独立安装的解码器。容器、应用依赖和系统软件包也需要分别检查,若软件提供方尚未提供更新,可以暂时关闭对应组件的 Brotli 解压功能。
Imperva 研究团队报告称,该团队在 Node.js 24.22.0 Linux ARM64 构建上,通过特制 Brotli 数据在应用测试中实现代码执行。测试覆盖请求正文解压和 Node.js fetch 解压响应两条路径,不过并非每次都能成功。
研究团队也在 Node.js 修复版本 24.22.1 上验证发现攻击已经无法奏效,所以对使用 Brotli 或使用包含 Brotli 环境的开发者来说,也需要尽快更新各类软件修复漏洞。
消息源:Imperva






