expr-eval库安全漏洞分析:任意代码执行风险

本文详细分析了expr-eval JavaScript表达式解析库中的高危安全漏洞CVE-2025-12735,该漏洞由于输入验证不足导致攻击者可通过精心构造的变量对象实现任意代码执行。

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版本,以避免潜在的安全风险。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计