Skip to content
OpenAdvisories
Critical · 10.0 Public exploit CVE-2026-25632 EUVD-2026-5576GHSA-74vm-8frp-7w68PYSEC-2026-330

EPyT-Flow has unsafe JSON deserialization (__type__)

Published Feb 6, 2026 · Updated Feb 6, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
WaterFutures EPyT-Flow < 0.16.1 —

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI epyt-flow < 0.16.1 0.16.1 GHSA-74vm-8frp-7w68

References