Node2Shell:Node.js修复严重的RCE漏洞"

admin 2026-10-24 13:56:51 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

Node2Shell:Node.js 修复严重的 RCE 漏洞

Swati Khandelwal
Swati Khandelwal

代码卫士

2026年10月23日 17:11
北京

去阅读

  聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

Imperva公司的安全研究人员已演示证明,恶意Brotli数据可让运行官方Node.js构建的应用程序执行攻击者提供的代码。

他们的“Node2Shell”概念验证在官方 Node.js 24.22.0 的 Linux arm64 镜像上运行了代码,没有使用调试器或自定义构建,而是通过向捆绑的 Brotli 解码器(CVE-2026-111497)输入特殊构造的数据实现。Node.js 于10月21日披露该漏洞并发布修复,解码不受信任 Brotli 数据的应用程序应进行更新。

Imperva 的测试并非每次都能成功,而是在 Linux arm64 环境中执行代码尝试了多次。该结果只覆盖该构建和应用程序配置,其它架构以及 22.x 和 26.x 系列未进行测试。在修复版本 24.22.1 上,相同数据被拒绝,没有代码运行。

此次演示比首个公开概念验证更完善,后者仅在刻意削弱的测试构建上实现了代码执行。在标准构建上,该概念验证的作者报告的是崩溃和对进程内存的有限读取,而非代码执行,并表示未能在正常构建上实现可用攻击。

截至10月22日,尚不存在该漏洞遭在野利用的报告。

受影响应用

该漏洞存在于 Node.js 捆绑的 Brotli 解码器中,因此影响 22.x、24.x 和 26.x 系列上的应用程序,而不只是 Imperva 测试的构建。服务可在 HTTP 交换的两端到达该解码器:当它通过 Node.js 内置的 fetch() 读取 Brotli 压缩响应时,或当中间件解码 Brotli 压缩的请求体时。

Express 5 的 body 解析器,例如 express.json()、express.urlencoded()、express.text() 和 express.raw() 应用于路由时会解码 Brotli 请求体,与 gzip 和 deflate 并列。普通的 Node.js HTTP 服务器不会仅因收到 Brotli 请求体就对其进行解码,因此解码需要该中间件或显式调用。

Imperva 公司通过请求体和响应两条路径复现了代码执行,测试了固定版本的 Express 5.0.0 至 5.3.0 以及 body-parser 2.0.0 至 2.3.0,并未测试它们之间的每个版本。

该漏洞如何运作

Imperva 将原因追溯到解码器如何处理 Brotli 流中一个不可能出现的点:流在解码过程中会声明其将使用的块类型,而测试输入到达了一个流自身结构所排除的块变更。存在漏洞的解码器将其理解为请求更多输入,并在无效状态下继续运行。

在一次使用内存清理器的单独测试中,从该状态继续运行写越过了预期缓冲区,这正是该漏洞背后的越界写入。Node.js 通过导入上游 Brotli 补丁修复了该漏洞,该补丁使解码器在该点以格式错误停止,而不是继续运行。

应对措施

迁移到已修复版本就是修复方案。更新应覆盖捆绑 Node 二进制的容器镜像和其它工件,而软件包清单可能会遗漏这些内容。已结束生命周期的 20.x 及更早系列不会获得修复,应迁移到受支持系列。

该公告未列出 Node.js 内部的任何变通方法,因此无法立即更新的应用在运行时中没有后备方案。Imperva 公司的研究人员建议在可行的情况下限制受影响路径上不受信任的 Brotli 流量,并表示只有更新才能消除该漏洞。该公司还在其自有 Web 应用防火墙中添加了规则,并针对其复现的攻击进行了测试。

负责为客户运行 Node.js 的 Vercel 公司表示,已于10月21日添加规则,在入站请求中阻止该攻击。这些规则未覆盖应用程序从其它服务器获取的 Brotli 响应,也不能替代更新。

代码卫士试用地址:https://sast.qianxin.com/

开源卫士试用地址:https://oss.qianxin.com/


推荐阅读

MongoDB库中存在多个漏洞,可用于在Node.js服务器上实现RCE

Node.js 修复多个漏洞,可导致RCE和HTTP请求走私

GitLab 存在满分未认证RCE漏洞,影响12年来发布的所有版本

PHP 提醒注意两个未修复的严重 0day 漏洞

XSS2Shell:WordPress Core 漏洞利用预认证登录XSS实现 PHP RCE

原文链接

https://thehackernews.com/2026/10/researchers-demonstrate-node2shell-rce.html

题图:Pixabay License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

 觉得不错,就点个 “在看” 或 \"赞”

Node2Shell:Node.js修复严重的RCE漏洞" 网络安全文章

Node2Shell:Node.js修复严重的RCE漏洞"

本文报道Node.js捆绑的Brotli解码器存在严重RCE漏洞CVE-2026-111497,影响22.x、24.x和26.x系列。Imperva研究人员演示了利用恶意Brotli数据在官方构建上执行代码,Node.js已发布修复版本24.22.1。建议用户立即更新至修复版本,并限制不受信任的Brotli流量。
满分10分!GitLab又双叒叕出新漏洞了……" 网络安全文章

满分10分!GitLab又双叒叕出新漏洞了……"

GitLab发布紧急安全更新,修复CVE-2026-110264漏洞,该漏洞为CVSS满分10.0的未认证远程代码执行,影响7.0至19.5版本,源于Onigmo正则引擎整数溢出,已发现在野利用。建议立即升级至指定修复版本,暂无临时缓解措施,需收紧暴露面并排查日志。
给NTP加把“密码锁”:网络受限场景下的高安全时间同步方案" 网络安全文章

给NTP加把“密码锁”:网络受限场景下的高安全时间同步方案"

本文提出一种高安全时间同步方案,针对NTP协议缺乏安全防护的问题,引入基于国密算法的公钥证书系统对NTP协议进行安全加固,并设计授时终端设备,支持设备间串联转发授时。经原理样机验证,方案安全可靠、成本低,可适配网络不可达等特殊工况,为关键信息基础设施的时间同步安全提供参考。
评论:0   参与:  0