Deserialization in Waterfutures Epyt-Flow

CVE-2026-25632

EPyT-Flow is a Python package designed for the easy generation of hydraulic and water quality scenario data of water distribution networks. Prior to 0.16.1, EPyT-Flow’s REST API parses attacker-controlled JSON request bodies using a custom deserializer (my_load_from_json) that supports a type field. When type is present, the deserializer dynamically imports an attacker-specified module/class and instantiates it with attacker-supplied arguments. This allows invoking dangerous classes such as subprocess.Popen, which can lead to OS command execution during JSON parsing. This also affects the loading of JSON files. This vulnerability is fixed in 0.16.1.

Vulnerability class: Insecure Deserialization

EPSS: 0.007 (49.2th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 10.0 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H.

Affected products

Weakness classification (CWE)

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2026-25632?
CVE-2026-25632 is a critical-severity vulnerability in Waterfutures Epyt-Flow, classified under Deserialization of Untrusted Data. CVSS score: 10.0/10. Published 2026-02-06.
How severe is CVE-2026-25632?
Critical severity. CVSS v3 base score is 10.0 out of 10.
Is CVE-2026-25632 known to be exploited?
1 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.