Impact
The flaw resides in EPyT‑Flow’s REST API and JSON file loader, which employ a custom deserializer that accepts a type field. When present, the deserializer dynamically imports the specified module or class and instantiates it with supplied arguments, allowing malicious actors to load and invoke dangerous classes such as subprocess.Popen. This mechanism directly permits arbitrary OS command execution during JSON parsing, giving attackers full control over the host system.
Affected Systems
WaterFutures EPyT‑Flow versions prior to 0.16.1 are affected. Any installation that exposes the REST API or accepts JSON files without proper validation is vulnerable. The issue spans all platforms supported by the Python package, and any deployment that uses the my_load_from_json routine is susceptible.
Risk and Exploitability
The CVSS score of 10 highlights worst‑case severity. The EPSS score is below 1%, indicating limited exploitation activity, and the vulnerability is not listed in the CISA KEV catalog. An attacker only needs to reach the REST API endpoint or supply a malicious JSON document; the dynamic import process then executes the payload with the privileges of the running Python process, resulting in complete system compromise.
OpenCVE Enrichment
Github GHSA