CVE Catalog

CVE-2026-102734

MediumCVSS 5.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.13%

2th percentile - higher than 2% of all known CVEs

Summary

asteval, a Python expression evaluator for restricted execution, prior to 1.0.9 allows sandbox escape. With numpy enabled, the default Interpreter exposes a ctypes type and permits from_address memory access, while attribute assignments use unfiltered setattr. An attacker-controlled expression can read or corrupt process memory, execute code, or disclose secrets.

Risk Assessment

An attacker can escape the sandbox and execute arbitrary code in the application process, leading to data theft, memory corruption, or service crash. The risk is high wherever asteval processes untrusted expressions.

Recommendation

Upgrade asteval to version 1.0.9 or later. Until patched, avoid evaluating untrusted expressions with numpy enabled.

Other vulnerabilities in asteval

Original NVD description (English source)

asteval is a Python expression evaluator designed for restricted execution. Prior to 1.0.9, in asteval/astutils.py, the default Interpreter with numpy enabled exposes a ctypes type and permits from_address memory access. safe_getattr blocks the ctypes module but not reachable ctypes type objects, while attribute assignments use unfiltered setattr instead of safe_setattr. An attacker-controlled expression can derive an address with id, read memory through from_address, and write through an attribute assignment. The expression can read or corrupt arbitrary process memory, escape the intended sandbox, execute code, disclose secrets, or crash the host process. This issue is fixed in version 1.0.9.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS