CVE-2026-1245:Node.js二进制解析器存在代码注入漏洞

admin 2026-01-23 11:00:38 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: Node.js二进制解析器库存在CVE-2026-1245代码注入漏洞。该库利用Function构造函数动态生成代码,但因未清理用户提供的字段名等输入,允许攻击者在动态构建解析器时执行任意JS代码,造成RCE风险。仅使用静态解析器的应用不受影响。建议立即升级至2.3.0或更高版本,并避免将不受信任数据传递给解析器字段名。 综合评分: 91 文章分类: 漏洞分析,漏洞预警,WEB安全,代码审计


cover_image

CVE-2026-1245:Node.js 二进制解析器存在代码注入漏洞

sec随谈 sec随谈

sec随谈

2026年1月22日 08:45 北京

使用流行的 Node.js 二进制解析器库的开发者被敦促立即更新其依赖项,因为该库存在一个危险的代码注入漏洞。该漏洞编号为 CVE-2026-1245,如果使用该库动态处理不受信任的输入,攻击者可以利用该漏洞在服务器上执行任意 JavaScript 代码。

该库是许多开发人员的必备工具,旨在以简单且声明式的方式编写“高效的二进制解析器”。然而,使其高效的机制——动态代码生成——却恰恰是它的致命弱点。

该漏洞源于该库底层构建解析器的方式。根据漏洞说明,“binary-parser(版本低于 2.3.0)使用 Function 构造函数在运行时动态生成 JavaScript 代码”。

虽然这种方法在性能方面效果显著,但需要严格的规范。报告指出,“某些用户提供的值——特别是解析器字段名称和编码参数——未经验证或清理就被直接整合到生成的代码中”。

这一疏忽为攻击者开辟了一条直接途径。如果开发者使用外部输入构建解析器(例如,允许用户定义要上传的文件的结构),“未经清理的值可能会改变生成的代码,从而导致攻击者控制的 JavaScript 代码得以执行”。

漏洞利用的后果非常严重。由于注入的代码在应用程序上下文中运行,攻击者“可能能够以Node.js进程的权限执行任意JavaScript代码”。

潜在影响范围很广。成功利用该漏洞“可能允许访问本地数据、篡改应用程序逻辑或执行系统命令,具体取决于部署环境”。

并非所有实现都存在漏洞。该安全公告明确指出,“仅使用静态硬编码解析器定义的应用程序不受影响”。风险仅限于使用来自不可信来源的数据动态构建解析器定义的情况。

该漏洞由安全研究员 Maor Caplan发现,并已由库维护者 Keichi Takahashi 修复。

建议用户“升级到2.3.0或更高版本”,该版本包含输入验证功能并针对不安全代码生成进行了缓解。此外,作为最佳实践,建议开发人员“避免将不受信任或用户控制的值传递给解析器字段名或编码参数”。

参考链接:

https://kb.cert.org/vuls/id/102648


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:sec随谈 sec随谈 sec随谈《CVE-2026-1245:Node.js 二进制解析器存在代码注入漏洞》

评论:0   参与:  0