ASTEVAL: Sandbox Escape via BaseException Subclasses
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| lmfit | asteval | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Lmfit | Asteval |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-89v8-rhwq-hf77 | asteval has a Sandbox Escape via BaseException Subclasses |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.177% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Lmfit
Lmfit asteval |
|
| Vendors & Products |
Lmfit
Lmfit asteval |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | ASTEVAL: Sandbox Escape via BaseException Subclasses | |
| Weaknesses | CWE-248 | |
| References |
|
|
| Metrics |
cvssV3_1
|