CVE-2025-24359
ASTEVAL Vulnerable to Maliciously Crafted Format Strings Leading to Sandbox Escape
- State
- Published
- Severity
- 8.4 High
- Published
- Jan 24, 2025
- Updated
- Feb 12, 2025
- Reserved
- Jan 20, 2025
Description
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.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 8.4 High | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | GitHub_M |
Weaknesses
Affected Products
| Product | Versions |
|---|---|
astevallmfit |
|
References
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.