Skip to main content
Mallory
Unrated

Remote Code Execution in Python StateMachine SCXMLProcessor

IdentifiersCVE-2026-47103CWE-95

CVE-2026-47103 is a remote code execution vulnerability in Python StateMachine affecting versions 3.0.0 before 3.2.0. The flaw is triggered when the application processes attacker-supplied SCXML documents containing crafted <data expr="..."> attributes. In the vulnerable code path, the SCXMLProcessor passes attacker-controlled expression strings through a call chain that ends in Python's built-in eval() without sandboxing or safe expression handling. As a result, arbitrary Python code embedded in the SCXML expression can be executed within the context of the hosting process.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation allows arbitrary code execution in the context of the vulnerable application process. Because the issue is remotely exploitable via malicious SCXML input and requires no privileges or user interaction according to the provided CVSS context, an attacker can potentially fully compromise confidentiality, integrity, and availability of the affected system or application component handling the SCXML document.

Mitigation

If you can’t patch tonight, do this now.

Do not process untrusted SCXML documents with affected versions of Python StateMachine. Where SCXML processing cannot be avoided immediately, restrict input sources to trusted content only and sanitize or reject dangerous SCXML data expression attributes, especially <data expr="..."> values. Additional hardening such as isolating the processing component can reduce blast radius, but the primary mitigation is upgrading to a fixed version.

Remediation

Patch, then assume compromise.

Upgrade Python StateMachine to version 3.2.0 or later, which is the stated fixed version. Review any code paths that ingest or process SCXML documents and ensure vulnerable releases from 3.0.0 up to but not including 3.2.0 are removed from production and downstream dependencies.
PUBLIC EXPLOITS

Exploits

No public exploits tracked yet. Mallory keeps watching.

VALID 0 / 0 TOTALView more in app

No public exploit code observed for this vulnerability.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity7

Community discussion across Reddit, Mastodon, and other social sources.