Vulnerability · Published Jan 24, 2025 · Assigned by GitHub_M
CVE-2025-24359ASTEVAL Vulnerable to Maliciously Crafted Format Strings Leading to Sandbox Escape
High 8.4
In plain English
A high-severity security flaw in asteval from lmfit. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 20% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | python-asteval | no fix listed | DEBIAN-CVE-2025-24359 |
| Debian:13 | python-asteval | 1.0.6-2 | DEBIAN-CVE-2025-24359 |
| Debian:14 | python-asteval | 1.0.6-2 | DEBIAN-CVE-2025-24359 |
| PyPI | asteval | 1.0.6 | PYSEC-2026-1195 |
| PyPI | asteval | 1.0.6 | GHSA-3wwr-3g9f-9gc7 |
| Ubuntu:22.04:LTS | python-asteval | no fix listed | UBUNTU-CVE-2025-24359 |
| Ubuntu:24.04:LTS | python-asteval | no fix listed | UBUNTU-CVE-2025-24359 |
Affected products (as reported)
Weakness: CWE-134, CWE-749 · Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H