{"schema":"threatline.record/2","record":{"id":"CVE-2026-25632","aliases":["GHSA-74vm-8frp-7w68","PYSEC-2026-330"],"summary":"EPyT-Flow vulnerable to unsafe JSON deserialization (__type__)","details":"### Impact\nEPyT-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.\n\n### Patches\nEPyT-Flow  has been patched in 0.16.1 -- affects all versions <= 0.16.0\n\n### Workarounds\nDo not load any JSON from untrusted sources and do not expose the REST API.\n\n### Credits\nEPyT-Flow  thanks Jarrett Chan (@syphonetic) for detecting and reporting the bug.","categories":["Libraries & packages"],"product":"epyt-flow","vendor":"WaterFutures","ecosystem":"pip","affected_ranges":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-74vm-8frp-7w68","source_modified_at":"2026-10-27T16:23:40Z","fetched_at":"2026-10-27T16:27:21.584480Z","package":{"ecosystem":"pip","name":"epyt-flow"},"range":"< 0.16.1"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-25632","source_modified_at":"2026-02-06T20:56:43.719Z","fetched_at":"2026-10-27T16:27:21.584480Z","product":"EPyT-Flow","vendor":"WaterFutures","versions":[{"version":"< 0.16.1","status":"affected"}],"defaultStatus":null},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-74vm-8frp-7w68","source_modified_at":"2026-06-29T12:26:34.728256183Z","fetched_at":"2026-10-27T16:27:21.584480Z","package":{"name":"epyt-flow","ecosystem":"PyPI","purl":"pkg:pypi/epyt-flow"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.16.1"}]}],"versions":["0.1.0","0.1.1","0.10.0","0.11.0","0.12.0","0.13.0","0.13.1","0.14.0","0.14.1","0.14.2","0.15.0","0.15.0b1","0.16.0","0.2.0","0.3.0","0.4.0","0.5.0","0.6.0","0.7.0","0.7.1","0.7.2","0.7.3","0.8.0","0.8.1","0.9.0"]}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-74vm-8frp-7w68","source_modified_at":"2026-10-27T16:23:40Z","fetched_at":"2026-10-27T16:27:21.584480Z","package":{"ecosystem":"pip","name":"epyt-flow"},"version":"0.16.1"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-74vm-8frp-7w68","source_modified_at":"2026-06-29T12:26:34.728256183Z","fetched_at":"2026-10-27T16:27:21.584480Z","package":{"name":"epyt-flow","ecosystem":"PyPI","purl":"pkg:pypi/epyt-flow"},"version":"0.16.1"}],"cvss":10,"severity":"Critical","kev":{"listed":false},"epss":{"probability":0.00807,"percentile":0.56613,"score_date":"2026-10-27"},"published_at":"2026-02-06T20:24:18.213Z","modified_at":"2026-10-27T16:23:40Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/advisories/GHSA-74vm-8frp-7w68","fetched_at":"2026-10-27T16:27:21.584480Z","source_modified_at":"2026-10-27T16:23:40Z"},{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-25632","fetched_at":"2026-10-27T16:27:21.584480Z","source_modified_at":"2026-02-06T20:56:43.719Z"},{"source":"OSV","url":"https://osv.dev/vulnerability/GHSA-74vm-8frp-7w68","fetched_at":"2026-10-27T16:27:21.584480Z","source_modified_at":"2026-06-29T12:26:34.728256183Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-25632","fetched_at":"2026-10-27T16:27:21.584480Z","source_modified_at":"2026-10-27"}],"sources":["GitHub Advisory Database","CVE List","OSV","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/WaterFutures/EPyT-Flow/security/advisories/GHSA-74vm-8frp-7w68","tags":["x_refsource_CONFIRM"]},{"source":"CVE List","url":"https://github.com/WaterFutures/EPyT-Flow/commit/3fff9151494c7dbc72073830b734f0a7e550e385","tags":["x_refsource_MISC"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-25632","source":"GitHub Advisory Database"},{"source":"CVE List","url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.16.1","tags":["x_refsource_MISC"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/epyt-flow/PYSEC-2026-330.yaml","source":"GitHub Advisory Database"},{"url":"https://pypi.org/project/epyt-flow","source":"GitHub Advisory Database"},{"url":"https://github.com/advisories/GHSA-74vm-8frp-7w68","source":"GitHub Advisory Database"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","ssvc":{"exploitation":"none","automatable":"yes","technical_impact":"total","assessed_at":"2026-02-06T20:56:14.947947Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-27T16:23:40Z","content_hash":"bd0e24c92d5b776faaa9796796441e75c29c5ebedef276048904a7031f161bf7"}}
