CVE-2026-106439

Hydra: Mutable instantiate policy sets allow target blocklist bypass

State
Published
Severity
8.5 High
Published
Oct 6, 2026
Updated
Oct 6, 2026
Reserved
Oct 6, 2026

Read the record on cve.org

Description

Hydra is a framework for elegantly configuring complex applications. From 1.3.4 until 1.3.7 and 1.4.0.dev10, Hydra stores legacy instantiate target blocklists and related execution-policy collections in mutable module-level state. An attacker who controls multiple sibling target entries can resolve hydra._internal.target_policy.UNCONTROLLED_EXECUTION_TARGETS.discard through instantiate(), remove a denied target, and then invoke that target because sibling nodes are processed in insertion order against the same modified policy. The mutation persists in process-global state and can enable code execution with the application's privileges, while a narrow execution whitelist supplied by trusted Python code is not bypassed by the reported direct mutation path. This issue is fixed in versions 1.3.7 and 1.4.0.dev10.

Scores

CVSSScoreVectorSource
4.08.5 HighCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NGitHub_M

Weaknesses

  • CWE-470 Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
  • CWE-693 Protection Mechanism Failure

Affected Products

ProductVersions
hydrahydra-ecosystem
  • >= 1.3.4, < 1.3.7Affected
  • >= 1.4.0.dev4, < 1.4.0.dev10Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.