CVE-2025-24359
ASTEVAL Vulnerable to Maliciously Crafted Format Strings Leading to Sandbox Escape
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
ASTEVAL is an evaluator of Python expressions and statements. Prior to version 1.0.6, if an attacker can control the input to the `asteval` library, they can bypass asteval's restrictions and execute arbitrary Python code in the context of the application using the library. The vulnerability is rooted in how `asteval` performs handling of `FormattedValue` AST nodes. In particular, the `on_formattedvalue` value uses the dangerous format method of the str class. The code allows an attacker to manipulate the value of the string used in the dangerous call `fmt.format(__fstring__=val)`. This vulnerability can be exploited to access protected attributes by intentionally triggering an `AttributeError` exception. The attacker can then catch the exception and use its `obj` attribute to gain arbitrary access to sensitive or protected object properties. Version 1.0.6 fixes this issue.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2025-01-20 CVE Reserved
- 2025-01-24 CVE Published
- 2025-01-25 CVE Updated
- 2025-01-25 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-134: Use of Externally-Controlled Format String
- CWE-749: Exposed Dangerous Method or Function
CAPEC
References (3)
URL | Tag | Source |
---|---|---|
https://github.com/lmfit/asteval/blob/cfb57f0beebe0dc0520a1fbabc35e66060c7ea71/asteval/asteval.py#L507 | X_refsource_misc | |
https://github.com/lmfit/asteval/security/advisories/GHSA-3wwr-3g9f-9gc7 | X_refsource_confirm | |
https://lucumr.pocoo.org/2016/12/29/careful-with-str-format | X_refsource_misc |
URL | Date | SRC |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|