CVE-2026-55244 json
ASTEVAL: Sandbox Escape via BaseException Subclasses
published 2026-08-20 2 mo ago modified 2026-09-30 39 d ago also GHSA-89v8-rhwq-hf77 , PYSEC-2026-3807 , EUVD-2026-78058
- cvss
- 5.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 7%
- public exploits
- 0
- none known
Summary
ASTEVAL is an evaluator of Python expressions and statements. Prior to 1.0.9, FROM_PY in asteval/astutils.py exposes BaseException, SystemExit, KeyboardInterrupt, and GeneratorExit to expressions evaluated by asteval.Interpreter.eval(), while run() and eval() in asteval/asteval.py catch Exception rather than these non-Exception BaseException subclasses. When an attacker-controlled expression raises one of these classes, on_raise() passes the class to raise_exception(), and the resulting exception bypasses the interpreter's safety handlers and propagates into the calling application. A consuming service that evaluates untrusted expressions can therefore be terminated or have signal and cleanup handling disrupted, causing denial of service. The separately documented read-only open() capability is not part of this vulnerability. This issue is fixed in version 1.0.9.
Patch / fix
- pypi asteval 1.0.9
- python-asteval openSUSE Tumbleweed 1.0.9-1.1
opensuse advisories openSUSE-SU-2026:11420-1
- github.com/lmfit/asteval@9c625b3 commit
- github.com/lmfit/asteval@c49c99a commit
- github.com/lmfit/asteval@a3e56e7 commit
- github.com/lmfit/asteval#153 pull request
- github.com/lmfit/asteval/releases/tag/1.0.9 release
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 53 d ago
Exploit prediction
0.18% chance of exploitation in the next 30 days, higher than 7% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/lmfit/asteval/security/advisories/GHSA-89v8-rhwq-hf77 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.0 | CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 5.0 | CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 5.0 | CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | asteval | <1.0.9 |
1.0.9 |
Affected products
- lmfit asteval
Classification
- Weakness
-
- CWE-248 Uncaught Exception
References
-
github.com
/lmfit/asteval/pull/153
web
- github.com /lmfit/asteval/commit/9c625b3674f8d05f206708bb85afca17a87694a4
- github.com /lmfit/asteval/commit/c49c99a67acb63eb7410231932250bd820380e45
-
github.com
/lmfit/asteval/commit/a3e56e7f8ed567a4817684d94213b290359077b4
web
-
github.com
/lmfit/asteval/security/advisories/GHSA-89v8-rhwq-hf77
exploit, web
-
github.com
/lmfit/asteval/releases/tag/1.0.9
web
-
github.com
/lmfit/asteval
package
-
pypi.org
/project/asteval
package
-
github.com
/advisories/GHSA-89v8-rhwq-hf77
advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-55244
advisory
Sources
- CVE List CVE-2026-55244
- GitHub Advisory GHSA-89v8-rhwq-hf77
- NVD CVE-2026-55244
- OSV PYSEC-2026-3807
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.