不只影响Node.js:Brotli库漏洞波及Python等多个生态系统,CVSS高达9.2
Node2Shell漏洞源自Google的Brotli压缩库,波及Python、Go、.NET等多生态,仅更新Node.js不足以覆盖风险。
澳洲科技媒体iTnews报道,近期Node.js修补的高风险漏洞Node2Shell(编号CVE-2026-111497)实际上源自Google开发的Brotli压缩库。由于Node.js内建此组件而受影响,但安全公司OpenSourceMalware联合创始人兼技术总监Paul McCarty调查发现,Python、Go、.NET及Perl等多个软件生态的库或应用程序也采用Brotli,浏览器、桌面应用与基础设施软件同样使用。这意味着该漏洞的影响范围远超Node.js本身。
McCarty指出,Python包Brotli及brotlicffi已确认使用受影响的解码器,分别于10月22日及23日发布修补版本。Chrome、Firefox及Envoy等产品也已修补相关问题。然而,部分产品自行内建Brotli库,企业即使更新了Node.js或操作系统包,仍可能有其他软件使用尚未修补的版本。是否受影响取决于采用的Brotli版本以及是否会解压不受信任的数据。
该漏洞位于Brotli负责解压数据的解码器,攻击者若能诱使使用受影响版本的应用程序解压特制数据,可能触发越界写入,造成内存损坏甚至远程执行代码。其CVSS 4.0风险评分为9.2分。安全公司Miggo追溯漏洞历史发现,造成问题的代码于2018年2月26日加入Brotli。上游项目虽在2026年2月27日修正相关代码,但当时未确认为安全漏洞,直到10月21日才发布包含修正内容的正式版本。这段时间差显示,上游代码修正不代表依赖该组件的软件已自动取得修补。
Node.js已于10月21日发布安全更新,修补Brotli解码器的越界写入漏洞,更新版本包括22.23.4、24.22.1及26.12.1。台湾电脑网络危机处理暨协调中心(TWCERT/CC)也发布安全公告,提醒企业盘点后端服务、容器镜像文件、网页前端工具链,以及部分AI代理命令行工具使用的Node.js版本,并尽快完成更新。对于其他内建Brotli库的软件,企业应确认是否使用受影响版本,并依产品安全公告完成修补。