GitHub Advisoryadvisory · PyPI
GHSA-v4jc-pm6r-3vj8 python-statemachine SCXML <data expr> Eval Injection
CRITICAL
Official page ↗
- Aliases
- CVE-2026-47103
- Ecosystem
- PyPI
- Packages
- python-statemachine
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-95
- Reviewed
- 2026-06-18
Affected packages
• PyPI python-statemachine: >= 3.0.0, < 3.2.0 → fixed in 3.2.0
Description
Summary
python-statemachine 3.1.2 evaluates `` attributes in SCXML documents using Python's `eval()`. Any application that passes attacker-controlled SCXML content to `SCXMLProcessor` is vulnerable to arbitrary code execution in the context of the hosting process.
Details
`SCXMLProcessor.parse_scxml_file()` processes SCXML documents and evaluates `` element `expr` attributes via the following call chain:
```
SCXMLProcessor.parse_scxml_file()
SCXMLProcessor.process_definition()
create_datamodel_action_callable()
_create_dataitem_callable()
_eval()
eval()
```
`_eval()` calls Python's built-in `eval()` directly on the expression string without sandboxing or restriction.
PoC
```
1. Install:
pip install python-statemachine==3.1.2
2. Create an SCXML file containing:
3. Run:
SCXMLProcessor.parse_scxml_file(DATA_EXPR_CHART)
SCXMLProcessor.start()
4. During start(), reaches _eval(), which calls eval().
5. Result:
data_marker_before_start: False
data_marker_after_start: True
success: True
```
Impact
This is an eval injection vulnerability (CWE-95). Remote or local code execution depending on whether the consuming application accepts SCXML content from remote users, uploaded files, configuration, plugins, or other untrusted sources.
Related
Alias · CVE (1)
- CVE-2026-47103 Python StateMachine versions 3.0.0 before 3.2.0 contains a remote code execution vulnerability that allows attackers to execute arbitrary… vulnerability
Weakness · CWE (1)
- CWE-95 Improper Neutralization of Directives in Dynamically Evaluated Code weakness
References
- https://github.com/fgmacedo/python-statemachine/security/advisories/GHSA-v4jc-pm6r-3vj8 web
- https://nvd.nist.gov/vuln/detail/CVE-2026-47103 advisory
- https://github.com/fgmacedo/python-statemachine package
- https://github.com/fgmacedo/python-statemachine/releases/tag/v3.2.0 web
- https://www.vulncheck.com/advisories/python-statemachine-rce-via-scxml-eval-injection web