Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSupply malicious _target_ callable in config
-
DeliveryUser or pipeline runs Hydra application
-
Exploit_resolve_target() resolves callable without restriction
-
ExecutionDangerous callable invoked with attacker-controlled args
-
ImpactArbitrary code executes in application process
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that a consuming application passes attacker-controlled configuration data into hydra.utils.instantiate(). The specific trigger is the presence of a _target_ key in Hydra configuration that maps to any Python callable - including dangerous builtins and OS primitives - which is supported by default in all pre-1.3.4 versions with no restrictions whatsoever. Concrete attack surfaces include: CLI override arguments (e.g., +some.key=subprocess.Popen), YAML config files loaded from untrusted paths, and ML model metadata config files bundled with downloaded model checkpoints. Exploitation is limited to deployments where untrusted data reaches a hydra.utils.instantiate() call; applications that load configuration exclusively from fully trusted, internally controlled sources have no meaningful exposure. The CVSS UI:R metric reflects that a user or automated process must actively invoke the Hydra-based application with the malicious config, ruling out passive exploitation. Authentication requirements are not applicable in the traditional sense - the attacker needs the ability to influence configuration inputs, not system credentials. |
| Impact | The CVSS 3.1 score of 7.8 (AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) reflects a local attack vector with required user interaction, which partially constrains the attack surface - exploitation requires a user or automated pipeline to execute a Hydra-based application with attacker-influenced configuration. However, the local-vector classification understates real-world risk in ML/AI deployment contexts: model loaders, training scripts, and inference pipelines frequently ingest configuration from remote or third-party sources such as downloaded model checkpoints and config cards, effectively elevating the practical attack vector beyond purely local access. EPSS data was not provided, so exploitation probability cannot be quantified independently. The vulnerability does not appear in CISA KEV, and no public exploit code has been identified at time of analysis. The blocklist-based fix, while extensive, is a defense-in-depth measure rather than a complete architectural remedy - the underlying design of resolving arbitrary callables from configuration remains, making allowlist bypass a plausible future research target. Teams using Hydra in pipelines that consume external model metadata or third-party configs should treat this as a high priority regardless of the local-vector CVSS classification. |
| Exploit ScenarioDerived | An attacker embeds a malicious _target_: subprocess.Popen entry with attacker-chosen shell arguments into a YAML configuration file or ML model metadata card distributed via a model hub or repository. When a developer or automated training pipeline runs a Hydra-based script that ingests this configuration and calls hydra.utils.instantiate(), the framework resolves and executes subprocess.Popen with the attacker-supplied arguments, achieving arbitrary command execution within the application process. No public proof-of-concept has been identified at time of analysis, but the attack pattern is straightforward given the public advisory and the patch diff revealing the precise vulnerable code path. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 21, 2026
Arbitrary code execution in Facebook Research Hydra prior to version 1.3.4 allows any party who can supply untrusted configuration - including YAML config files, CLI overrides, or ML model metadata - to invoke dangerous Python callables through hydra.utils.instantiate(). The vulnerability stems from _resolve_target() accepting any Python callable path without restriction, enabling an attacker to trigger functions such as os.system, subprocess.Popen, or builtins.exec inside the consuming application's process. No public exploit code has been identified at time of analysis, and no CISA KEV listing exists; the upstream fix is confirmed shipped in v1.3.4.
RemediationAI
Upgrade to Hydra version 1.3.4, which introduces target blocklisting for dangerous Python callables; the fix is confirmed in the tagged release at https://github.com/hydra-ecosystem/hydra/releases/tag/v1.3.4, corroborated by commit 7faad0dcedfb4c0a364aa1067c0080fd6fdf8dca (https://github.com/hydra-ecosystem/hydra/commit/7faad0dcedfb4c0a364aa1067c0080fd6fdf8dca) and PR #3261 (https://github.com/hydra-ecosystem/hydra/pull/3261). If immediate upgrade is not feasible, implement application-level validation of the _target_ field in any configuration passed to hydra.utils.instantiate() - specifically, maintain an explicit allowlist of permitted callable strings in application code before the config reaches Hydra. Audit all code paths where untrusted input (CLI arguments, downloaded config files, remote model metadata) can influence Hydra configuration and restrict those inputs at the application boundary. Note that the blocklist-based fix in v1.3.4 can itself be overridden via the HYDRA_INSTANTIATE_ALLOWLIST_OVERRIDE environment variable, which should be locked down or unset in production deployments to prevent that escape hatch from being exploited.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in pypi, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Hydra (cpe:2.3:a:facebookresearch:hydra:*:*:*:*:*:*:*:*) is a Python framework used extensively in machine learning and research workflows to configure complex applications via structured YAML files. The root vulnerability resides in hydra/_internal/instantiate/_instantiate2.py: the _resolve_target() function, called by hydra.utils.instantiate(), resolves a _target_ key in Hydra configuration to an arbitrary Python module path and invokes the resulting callable with attacker-supplied arguments - with no prior restriction on which callables were permissible. This is a CWE-94 (Code Injection) flaw: the framework treats configuration-supplied target strings as executable code paths, conflating untrusted data with runtime execution. The patch in v1.3.4 introduces DEFAULT_BLOCKLISTED_MODULES (60+ entries spanning builtins, os, subprocess, ctypes, runpy, shutil, and pty) and DEFAULT_BLOCKLISTED_MODULE_PREFIXES, plus an opt-out escape hatch via the HYDRA_INSTANTIATE_ALLOWLIST_OVERRIDE environment variable.
Know when Hydra gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Config injection requires local file or CLI access and user-initiated execution; no system privileges needed, but user must actively run the application.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Hydra is a framework for elegantly configuring complex applications. Prior to 1.3.4, hydra.utils.instantiate() resolves and calls Python objects selected by configuration through _resolve_target() in hydra/_internal/instantiate/_instantiate2.py, allowing attacker-controlled target values and arguments to choose dangerous callables. A consuming application, library, CLI workflow, or model loader that passes untrusted configuration, CLI overrides, or model metadata into hydra.utils.instantiate() can therefore execute arbitrary code in its own process, including reading or modifying files and credentials or terminating the process. Version 1.3.4 adds target blocking with an explicit HYDRA_INSTANTIATE_ALLOWLIST_OVERRIDE escape hatch. This issue is fixed in version 1.3.4.
Articles & Coverage 1
Executive ViewAI
Facebook Research Hydra (versions prior to 1.3.4) contains a code execution vulnerability that allows attackers with access to configuration files to execute arbitrary code, potentially compromising sensitive training data, model integrity, and infrastructure security. This affects all organizations using Hydra for ML/AI configuration management, particularly data science and research teams. Immediate patching to v1.3.4 or later is critical to prevent data exfiltration and unauthorized access to ML infrastructure.
Vendor-released patch: v1.3.4
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Hydra is the layer-two scalability solution for Cardano. Rated critical severity (CVSS 9.1), this vulnerability is remot
Hydra is the two-layer scalability solution for Cardano. Rated high severity (CVSS 8.1), this vulnerability is remotely
Hydra through 0.1.8 has a NULL pointer dereference and daemon crash when processing POST requests that lack a Content-Le
ORY Hydra before v1.0.0-rc.3+oryOS.9 has Reflected XSS via the oauth2/fallbacks/error error_hint parameter. Rated medium
Code execution with the hosting application's privileges is possible in Hydra 1.3.4 through versions before 1.3.7 (and b
Hydra is the layer-two scalability solution for Cardano. Rated high severity (CVSS 8.1), this vulnerability is remotely
Configuration-controlled code execution in the hydra-optuna-sweeper package (Hydra 1.2.0 up to but not including 1.3.0,
Hydra is a Continuous Integration service for Nix based projects. Rated high severity (CVSS 7.5), this vulnerability is
Hydra is the layer-two scalability solution for Cardano. Rated medium severity (CVSS 6.5), this vulnerability is remotel
Hydra is a Continuous Integration service for Nix based projects. Rated medium severity (CVSS 5.4), this vulnerability i
In Hydra (an OAuth2 Server and OpenID Certified™ OpenID Connect Provider written in Go), before version 1.4.0+oryOS.17,
Hydra is a Continuous Integration service for Nix based projects. Rated low severity (CVSS 2.6), this vulnerability is r
EUVD-2026-64130
GHSA-2cp2-2r3c-7p7r
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB