CVE-2025-24359

NameCVE-2025-24359
DescriptionASTEVAL 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
python-asteval (PTS)bullseye0.9.19-2vulnerable
bookworm0.9.28-1vulnerable
sid, trixie0.9.31-1vulnerable

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
python-astevalsource(unstable)(unfixed)

Notes

[bookworm] - python-asteval <no-dsa> (Minor issue)
[bullseye] - python-asteval <no-dsa> (Minor issue)
https://github.com/lmfit/asteval/security/advisories/GHSA-3wwr-3g9f-9gc7

Search for package or bug name: Reporting problems