CVE-2026-12866: expr-eval vulnerable to Code Execution
All versions of the package expr-eval are vulnerable to Code Execution via the toJSFunction() API. An attacker can execute arbitrary JavaScript by supplying crafted expressions that are compiled into native code using new Function().
Published Jun 23, 2026 · Updated Sep 22, 2026
Affected packages
expr-eval
- Ecosystem
- npm
- Affected
- <= 2.0.2
- Fixed in
- No patched version yet
- Check
npm ls expr-eval
org.webjars.npm:expr-eval
- Ecosystem
- Maven
- Affected
- <= 2.0.2
- Fixed in
- No patched version yet
- Check
mvn dependency:tree -Dincludes=org.webjars.npm:expr-eval
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
All versions of the package expr-eval are vulnerable to Code Execution via the toJSFunction() API. An attacker can execute arbitrary JavaScript by supplying crafted expressions that are compiled into native code using new Function(). Because user-controlled expressions are transformed directly into executable JavaScript, attackers can escape the intended expression sandbox and run arbitrary code within the application's context.
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-12866
- https://github.com/silentmatt/expr-eval/issues/292
- https://security.snyk.io/vuln/SNYK-JS-EXPREVAL-15054690
- https://security.snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-17662018
- https://github.com/silentmatt/expr-eval/blob/master/src/expression.js#L55
- https://github.com/advisories/GHSA-q9v2-7m5w-4693
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
