AISubHub/AI 资讯
开发者

深度解读 · 约 6 分钟阅读

Brotli解码漏洞:补丁需要到达每一份运行中的副本

Node.js说明CVE-2026-111497的机制,部署指引列出下游修复和临时措施;解码路径、支持周期与实际部署仍须分别核对。

本站发布
原文发布
核实时间

Node.js记录了由OpenAI Codex Security报告的CVE-2026-111497,PatchthePlanet则整理下游修复与临时措施。这个案例说明,共享库修复与线上软件获得保护之间仍有距离。风险取决于不可信输入是否到达受影响解码器,使用Brotli本身不证明每套部署都易受攻击。

听读资讯

朗读当前文章,或连续收听资讯。

Brotli解码漏洞:补丁需要到达每一份运行中的副本

正在准备听读…

设备语音

朗读由浏览器或设备处理,AISubHub 不向音频 API 发送文本。可用语音及锁屏播放能力因设备而异。

继续播放时可能重复一小段。

一分钟速览

  • Node.js列出22.23.4、24.22.1和26.12.1;应用解压攻击者提供的Brotli数据时,该缺陷可能破坏进程内存。
  • 部署指引另列Bun、Envoy、Istio及上游Brotli修复;不受支持分支有补丁,不代表它重新获得维护。
  • 临时措施须在各条相关路径解码前阻断不可信Brotli。关闭输出压缩或仅从Accept-Encoding移除br均不足。

披露与原始日期

Node.js将Brotli漏洞报告归功于OpenAI Codex Security的Khai Tran与Sylvie Mayer,并注明mcollina和aduh95完成修复。PatchthePlanet部署指引整理了受影响软件对应的版本与临时措施。本站的工程分析是:保护需要经过组件发布、内嵌运行时、应用重建和用户环境实际部署这条链路,装好一个软件包本身不足以证明处置完成。

Node.js页面标题为10月21日安全发布,却未逐项注明CVE条目加入时间;PatchthePlanet的“10月23日更新”也不是首发时刻。这些日期不能证明全部下游何时完成更新。本站于10月24日读取上述公开材料,访问日期、发布页标题日期与更新标签分别记录。

八字节缓冲区如何越界

Node.js解释,非法块切换被误判为暂时需要更多输入,而非永久格式错误,流式解码器继续向八字节内部缓冲区追加数据,可能越界写入。应用通过node:zlib解压攻击者控制的数据时,后果可包括崩溃、内存泄露或远程代码执行。

边界在于解码不可信输入,包括请求体、不可信服务器响应和压缩文件;仅压缩输出不构成暴露证明。指引也要求检查嵌入式运行时、curl/libcurl、Python或Java绑定、字体及文件读取器。Electron可能分别包含Chromium和Node.js副本,修好一份不能证明两者都已修好。

选择受支持的组件版本

Node.js列出22.23.4、24.22.1、26.12.1;PatchthePlanet列出含Brotli 1.2.1的Bun 1.4.4,以及上游各分支的1.0.10、1.1.1、1.2.1。这些是各组件版本,不存在一个能修复所有内嵌应用的统一版本号。

指引列出Envoy 1.40.0、1.39.3、1.38.6、1.37.8;1.36.12虽含修复,分支已不受支持。Istio列出1.29.9、1.30.6、1.31.2,但1.29已结束生命周期。补丁存在与持续维护必须分开判断,并选择受支持升级路径。

在解码前阻断输入

无法立即升级时,指引建议暂停解码不可信Brotli。Express示例在所有body parser前仅放行identity、gzip、deflate,以HTTP 415拒绝其他及叠加编码;更早解码的代理须另行保护。备用inflate:false会拒绝所有压缩请求体,包括gzip和deflate。

Accept-Encoding没有br只是协商偏好,服务器仍可能返回Brotli。Python示例先禁止自动读取和解码,检查Content-Encoding后才读正文;示例关闭重定向与重试,若加入则每个响应都须检查。普通fetch或自动读取可能已先解码,事后查头部过晚。大小限制与WAF规则也不能覆盖全部路径。

框架措施各有边界

Envoy/Istio措施须关闭Brotli解码器的请求及响应方向,移除可能重新启用的运行时覆盖;未注明方向默认启用。gzip、zstd可有独立过滤器,不能因过滤器名称相同全部删除。压缩字节可能继续流向下游,应用解码器仍须保护。

Next.js方案全局设置images.unoptimized,重建部署后核对/_next/image不再运行内置优化器;它不保护自定义loader、其他服务端抓取或解码器。Istio还须逐个核对网关和sidecar的有效配置,改了文件不等于运行中的全部实例已经变化。

核对实际运行的部署

指引要求更新运行时和镜像固定版本,重建内嵌它们的容器或可执行文件,重启或重新部署服务、worker、定时任务及全部副本,再核对实际运行二进制或镜像。下载了补丁、升级构建机或修好浏览器组件,均不能证明所有进程已使用新解码器。

本站举一个假设架构:CDN负责压缩输出,另有worker解码抓取内容。关闭CDN压缩不会改变worker风险,备用源站路径也可能绕开代理拦截。这是教学分析,不是本站服务器检查结果。验收应覆盖相关输入路径,并确认仍允许的压缩方式正常工作。

有什么影响

实际价值是盘点解码位置,把上游补丁连接到重建后真正运行的部署。版本核对与临时拦截作用不同;共享库名称或一次配置修改,都不能证明整套系统已经得到保护。

限制与可用性

本文完整读取两份公开指引,未读攻击代码、全部外链版本说明或客户部署。非Node版本归属PatchthePlanet的10月23日复核,本站未复测。未进行漏洞利用、运行时升级或服务器审计,也未由这些材料确认广泛攻击或全部软件修复。

来源与证据

Node.js Project · October 2026 security releases

原文发布: · 核实时间:

补充阅读

PatchthePlanet · Brotli vulnerability deployment advisory (updated October 23; original publication time unknown)

核实时间:

AI 辅助采编,依据所列一手来源核实。厂商自报结论注明归属,收录不代表背书。