CVE-2025-29786Allocation of Resources Without Limits or Throttling in Expr

Severity
7.5HIGHNVD
EPSS
0.1%
top 72.25%
CISA KEV
Not in KEV
Exploit
No known exploits
Timeline
PublishedMar 17
Latest updateMar 18

Description

Expr is an expression language and expression evaluation for Go. Prior to version 1.17.0, if the Expr expression parser is given an unbounded input string, it will attempt to compile the entire string and generate an Abstract Syntax Tree (AST) node for each part of the expression. In scenarios where input size isn’t limited, a malicious or inadvertent extremely large expression can consume excessive memory as the parser builds a huge AST. This can ultimately lead to*excessive memory usage and an

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HExploitability: 3.9 | Impact: 3.6

Affected Packages11 packages

🔴Vulnerability Details

4
OSV
Memory Exhaustion in Expr Parser with Unrestricted Input in github.com/expr-lang/expr2025-03-18
OSV
Memory Exhaustion in Expr Parser with Unrestricted Input2025-03-17
OSV
CVE-2025-29786: Expr is an expression language and expression evaluation for Go2025-03-17
GHSA
Memory Exhaustion in Expr Parser with Unrestricted Input2025-03-17

📋Vendor Advisories

3
Red Hat
github.com/expr-lang/expr: Memory Exhaustion in Expr Parser with Unrestricted Input2025-03-17
Microsoft
Memory Exhaustion in Expr Parser with Unrestricted Input2025-03-11
Debian
CVE-2025-29786: golang-github-antonmedv-expr - Expr is an expression language and expression evaluation for Go. Prior to versio...2025