cbcvebase.
CVE-2025-12735
published 2025-11-05

CVE-2025-12735: The expr-eval library is a JavaScript expression parser and evaluator designed to safely evaluate mathematical expressions with user-defined variables…

PriorityP263critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EPSS
2.20%
80.3th percentile
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 context object or use MEMBER of the context object into the evaluate() function and trigger arbitrary code execution.

Affected

13 ranges
VendorProductVersion rangeFixed in
expr-eval-forkexpr-eval-fork<= 3.0.0
expr-eval-forkexpr-eval-fork>= 0 < 3.0.13.0.1
jorenbroekemajavascript_expression_evaluator
msrccbl_mariner_1.0_arm
msrccbl_mariner_1.0_x64
msrccm1_vim_8.1.0388-7_on_cbl_mariner_1.0
rhelai3bootc-cuda-rhel9
rhelai3bootc-gaudi-rhel9
rhelai3bootc-rocm-rhel9
rhelai3disk-image-cuda-rhel9
silentmattexpr-eval<= 2.0.2
silentmattexpr-eval0 – 2.0.2
silentmattjavascript_expression_evaluator<= 2.0.2

Detection & IOCsextracted from sources · hover to see the quote

  • Attacker passes a crafted context object or uses MEMBER of the context object into the evaluate() function to trigger arbitrary code execution
  • Attacker can inject and execute arbitrary system-level commands on the host by providing maliciously crafted input to the parser's evaluate() method via the context object
  • Monitor for use of expr-eval or expr-eval-fork versions prior to 3.0.0 in Node.js environments; expr-eval-fork v3.0.0 contains the security fix with an allowlist of safe functions
  • LangChain Calculator tool calls Parser.evaluate() with expr-eval; LangChainJS replaced expr-eval with math-expression-evaluator as a fix — audit @langchain/community dependencies for bundled expr-eval
  • ·expr-eval is listed as a bundled dependency in grafana-pcp in RHEL 8, but the library is not present in the compiled JavaScript bundle and the vulnerable code does not execute — RHEL 8 grafana-pcp is not affected
  • ·RHEL AI 3.x bootc images ship [email protected] as a dependency of @langchain/community; the only consumer is the LangChain Calculator tool which calls Parser.evaluate() and does NOT invoke toJSFunction(), so CVE-2026-12866 (toJSFunction API) is rated Low for RHEL AI — but CVE-2025-12735 (evaluate() path) may still apply
  • ·The patch in expr-eval-fork v3.0.0 enforces an allowlist of safe functions for evaluation and a registration system for custom functions; the original expr-eval package has an unmerged pull request with the fix due to unresponsive maintainers

CVSS provenance

nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vendor_redhat9.8CRITICAL
vendor_msrc8.6HIGH
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.