GitHub Advisoryadvisory · npm
GHSA-jc85-fpwf-qm7x expr-eval does not restrict functions passed to the evaluate function
HIGH
Official page ↗
- Aliases
- CVE-2025-12735
- Ecosystem
- npm
- Packages
- expr-eval, expr-eval-fork
- Severity
- High
- CVSS vector
- CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
- Weaknesses
- CWE-94
- Reviewed
- 2025-11-05
Affected packages
• npm expr-eval: <= 2.0.2 (no fix yet)
• npm expr-eval-fork: < 3.0.1 → fixed in 3.0.1
Description
The expr-eval library is a JavaScript expression parser and evaluator designed to safely evaluate mathematical expressions with user-defined variables. However, due to insufficient input validation, an attacker can pass a crafted variables object into the evaluate() function and trigger arbitrary code execution.
Related
Alias · CVE (1)
- CVE-2025-12735 The expr-eval library is a JavaScript expression parser and evaluator designed to safely evaluate mathematical expressions with… vulnerability
Weakness · CWE (1)
- CWE-94 Improper Control of Generation of Code weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2025-12735 advisory
- https://github.com/silentmatt/expr-eval/pull/288 web
- https://github.com/silentmatt/expr-eval/pull/289 web
- https://github.com/jorenbroekema/expr-eval/commit/1d71bb2ca8f98df8de00e9cc4de8fdd468a7ad43 web
- https://github.com/jorenbroekema/expr-eval web
- https://github.com/jorenbroekema/expr-eval/blob/460b820ba01c5aca6c5d84a7d4f1fa5d1913c67b/test/security.js web
- https://github.com/silentmatt/expr-eval web
- https://kb.cert.org/vuls/id/263614 web
- https://www.kb.cert.org/vuls/id/263614 web
- https://www.npmjs.com/package/expr-eval web
- https://www.npmjs.com/package/expr-eval-fork web