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.
Published: 2026-10-06
Score: 8.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Patch
AI Analysis

Impact

Hydra, a framework for configuring complex applications, stored legacy instantiate target blocklists and execution‑policy collections in mutable module‑level state from versions 1.3.4 through 1.3.6, exposing a path for attackers to modify the blocklist by removing denied targets and then executing them. This mutation persists in global process state and can allow code execution with the application’s privileges. The weakness involves uncontrolled input influencing executable commands and improper data handling.

Affected Systems

Hydra versions 1.3.4, 1.3.5, and 1.3.6 are affected. The issue is fixed in Hydra 1.3.7 and in Hydra 1.4.0.dev10 or later releases.

Risk and Exploitability

Based on the description, it is inferred that the attacker must be able to supply or modify configuration inputs that create multiple sibling target entries, thereby allowing removal of denied targets. The likely attack vector is an authorized configuration change or a locally privileged user creating such entries. The CVSS score of 8.5 signals high severity, while the EPSS score is not available and KEV listing is empty, indicating the vulnerability remains potentially exploitable. If exploited, the attacker could trigger code execution with the application’s privileges, effectively gaining control over the system.

Generated by OpenCVE AI on October 6, 2026 at 23:42 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Hydra to version 1.3.7 or later (or 1.4.0.dev10 or later releases).
  • Restrict access to any configuration interface that allows creation or modification of target entries, ensuring only trusted users can alter configuration.
  • Validate and sanitize all target entries before instantiation to prevent unintended removal of denied targets.

Generated by OpenCVE AI on October 6, 2026 at 23:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-mwj6-rfh8-7qf4 Hydra: Mutable instantiate policy sets allow target blocklist bypass
History

Fri, 09 Oct 2026 09:15:00 +0000

Type Values Removed Values Added
First Time appeared Hydra-ecosystem
Hydra-ecosystem hydra
Vendors & Products Hydra-ecosystem
Hydra-ecosystem hydra

Wed, 07 Oct 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}

threat_severity

Important


Tue, 06 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 06 Oct 2026 19:00:00 +0000

Type Values Removed Values Added
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.
Title Hydra: Mutable instantiate policy sets allow target blocklist bypass
Weaknesses CWE-470
CWE-693
References
Metrics cvssV4_0

{'score': 8.5, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Hydra-ecosystem Hydra
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-06T19:48:45.736Z

Reserved: 2026-10-06T16:49:40.590Z

Link: CVE-2026-106439

cve-icon Vulnrichment

Updated: 2026-10-06T19:48:41.815Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-06T19:18:12.720

Modified: 2026-10-06T20:17:25.917

Link: CVE-2026-106439

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-06T18:49:12Z

Links: CVE-2026-106439 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-09T08:43:13Z

Weaknesses
  • CWE-470

    Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')

  • CWE-693

    Protection Mechanism Failure