expr-eval库安全漏洞分析:CVE-2025-12735
漏洞概述
expr-eval是一个JavaScript表达式解析器和求值器,设计用于安全地评估包含用户定义变量的数学表达式。然而,该库在2.0.2及更早版本中存在输入验证不足的安全漏洞。
技术细节
漏洞原理
由于对输入验证不充分,攻击者可以向evaluate()函数传递精心构造的变量对象,从而触发任意代码执行。这一漏洞被归类为CWE-94:代码生成的不当控制(代码注入)。
影响范围
- 受影响版本:expr-eval <= 2.0.2
- 修复版本:expr-eval-fork 3.0.0
严重程度
该漏洞被评定为高危级别,CVSS评分为8.6分。
CVSS v4指标分析
可利用性指标
- 攻击向量:本地
- 攻击复杂度:低
- 攻击要求:无
- 所需权限:无
- 用户交互:无
漏洞系统影响
- 机密性:高
- 完整性:高
- 可用性:高
参考信息
- NVD漏洞详情:CVE-2025-12735
- GitHub安全公告:GHSA-jc85-fpwf-qm7x
- 相关代码库:silentmatt/expr-eval #288
- 修复版本:jorenbroekema/expr-eval@1d71bb2
安全建议
建议使用expr-eval库的开发人员立即升级到已修复的安全版本,或考虑迁移到expr-eval-fork 3.0.0版本,以避免潜在的安全风险。