文章总结: Node.js的binary-parser库存在高危漏洞CVE-2026-1245,影响2.3.0前版本。因未净化输入,攻击者可利用Function构造函数注入任意JS代码。建议立即升级至2.3.0及以上,审计代码,避免将不可信数据用于字段名称或编码,并实施严格输入验证以防范风险。 综合评分: 82 文章分类: 漏洞预警,漏洞分析,代码审计,WEB安全
Node.js二进制解析库曝高危漏洞可导致恶意代码注入
FreeBuf
2026年1月26日 18:32 上海
Part01
漏洞概述
Node.js二进制解析库(binary-parser)被发现存在一个高危代码注入漏洞(CVE-2026-1245),影响2.3.0之前的所有版本。该漏洞允许攻击者在应用程序使用不可信输入构建解析器定义时执行任意JavaScript代码,可能危及应用程序完整性和系统安全。
Part02
技术细节
该库原本设计用于以声明式语法简化二进制解析器的编写,但存在危险的代码生成缺陷。其运行时通过Function构造函数动态生成JavaScript代码,关键问题在于用户提供的解析器字段名称和编码参数未经任何验证或净化处理就被直接拼接到生成的代码中。
Part03
攻击场景
当应用程序将不可信或外部提供的数据传入解析器字段名称或编码参数时,未经净化的值会篡改运行时生成的JavaScript代码。这种操纵使攻击者能够以Node.js进程的完整权限执行任意代码。需注意的是,仅使用静态硬编码解析器定义的应用程序不受此漏洞影响。
成功利用该漏洞可能导致:
- 在Node.js进程上下文中执行任意JavaScript代码
- 根据部署环境和应用权限,可能实现本地数据未授权访问和应用程序逻辑篡改
- 执行系统命令或在网络基础设施中进行横向移动
- 处理第三方数据的企业级应用面临更高风险
Part04
修复建议
厂商已发布2.3.0版本,实施了输入验证机制并修复了不安全的代码生成方式。CERT/CC建议立即采取以下措施:
- 将binary-parser升级至2.3.0或更高版本
- 审计应用程序中所有使用外部数据源构建解析器定义的情况
- 对解析器配置参数实施严格的输入验证
- 避免将用户可控值传入解析器字段名称或编码参数
参考来源:
Critical Vulnerability in Binary-Parser Library for Node.js Allows Malicious Code injection
Critical Vulnerability in Binary-Parser Library for Node.js Allows Malicious Code injection
#
#
#
推荐阅读
电台讨论
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:FreeBuf 《Node.js二进制解析库曝高危漏洞可导致恶意代码注入》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论