CVE-2026-25632

10.0 CRITICAL

📋 TL;DR

CVE-2026-25632 is a critical remote code execution vulnerability in EPyT-Flow's REST API. Attackers can send malicious JSON payloads that trigger dynamic import and instantiation of dangerous classes like subprocess.Popen, leading to full system compromise. This affects all EPyT-Flow deployments with the vulnerable REST API exposed.

💻 Affected Systems

Products:
  • EPyT-Flow
Versions: All versions prior to 0.16.1
Operating Systems: All operating systems running Python
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerable when REST API is enabled or when loading JSON files through the affected deserializer.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with root/admin privileges, allowing attackers to execute arbitrary commands, steal data, deploy ransomware, or pivot to other systems.

🟠

Likely Case

Remote code execution leading to data theft, system takeover, or deployment of cryptocurrency miners on vulnerable servers.

🟢

If Mitigated

Limited impact if API is not exposed or properly firewalled, though internal attackers could still exploit it.

🌐 Internet-Facing: HIGH - REST API exposure allows unauthenticated remote exploitation with trivial payloads.
🏢 Internal Only: HIGH - Even internal-only deployments are vulnerable to insider threats or compromised internal systems.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires sending a crafted JSON payload with type field pointing to dangerous classes. The GitHub advisory includes technical details that make weaponization straightforward.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.16.1

Vendor Advisory: https://github.com/WaterFutures/EPyT-Flow/security/advisories/GHSA-74vm-8frp-7w68

Restart Required: Yes

Instructions:

1. Stop EPyT-Flow services. 2. Run: pip install --upgrade epyt-flow==0.16.1. 3. Restart EPyT-Flow services. 4. Verify the fix by checking version.

🔧 Temporary Workarounds

Disable REST API

all

Disable the vulnerable REST API endpoint if not required.

Configure EPyT-Flow to disable REST API in configuration files

Network Segmentation

linux

Restrict network access to EPyT-Flow API using firewall rules.

iptables -A INPUT -p tcp --dport [API_PORT] -j DROP
ufw deny [API_PORT]

🧯 If You Can't Patch

  • Isolate EPyT-Flow instances in a dedicated network segment with strict egress filtering
  • Implement web application firewall (WAF) rules to block JSON payloads containing 'type' field with dangerous class names

🔍 How to Verify

Check if Vulnerable:

Check EPyT-Flow version: if version < 0.16.1 and REST API is enabled, system is vulnerable.

Check Version:

python -c "import epyt_flow; print(epyt_flow.__version__)"

Verify Fix Applied:

Verify version is 0.16.1 or higher and test API with safe payloads to ensure proper deserialization.

📡 Detection & Monitoring

Log Indicators:

  • Unusual JSON parsing errors
  • Unexpected subprocess executions
  • Import of dangerous modules like subprocess, os, sys

Network Indicators:

  • HTTP POST requests to EPyT-Flow API with JSON containing 'type' field
  • Outbound connections from EPyT-Flow to unexpected destinations

SIEM Query:

source="epyt-flow.log" AND ("type":"subprocess" OR "type":"os" OR "type":"import")

🔗 References

📤 Share & Export