Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessInfluence a workflow parameter
-
DeliveryInject ${env.SECRET} token
-
ExploitResolver expands host env var pre-policy
-
ExecutionBypass env.get denylist
-
PersistSecret inlined into allowed module
-
ImpactExfiltrate credentials off-host
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V6 - Authentication Credential protection in transit/storage
|
| Exploitation Conditions | Exploitation requires two things: (1) the operator relies on the capability policy denylist for env.get / env.load_dotenv to protect host secrets (the default posture the advisory describes), and (2) the attacker can place a ${env.VAR} token into a workflow step parameter that passes through the engine's variable resolver. Because interpolation happens in the engine before the module chokepoint, the denylist provides no protection - that pre-chokepoint expansion IS the enabling condition. What limits exploitation: the attacker must be able to control or inject a workflow parameter, so exposure is highest in deployments where untrusted data (agent inputs, tenant-submitted workflows) reaches parameters, and lower where only trusted operators author workflows; there is also no impact if the host environment holds no secrets. Authentication level for parameter submission is not confirmed from the provided data. After the 2.26.6 fix, exploitation additionally requires that the target name be present in FLYTO_ENV_VAR_ALLOWLIST or that env.get be explicitly allowed. |
| Impact | The NVD CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N, 8.6) portrays a high-severity, unauthenticated, low-complexity, confidentiality-only issue with scope change - consistent with a sandbox-escape that reaches host secrets. The real determinant of exploitability is who controls a workflow parameter: in agentic deployments untrusted external data commonly flows into workflow parameters (supporting PR:N), but in operator-authored-only deployments the practical attacker must already be able to submit or influence workflow content, which raises the bar. No EPSS score, KEV entry, SSVC decision, or public POC was provided, so exploitation-in-the-wild cannot be asserted; this is currently a high-CVSS finding whose weaponization is unproven. The scope change and C:H are well justified because secrets belong to a different trust boundary (the host env) than the workflow sandbox the policy governs. Key uncertainty to verify with the vendor: whether workflow parameters are reachable by unauthenticated/untrusted sources in the target deployment - this determines whether PR:N is realistic or overstated. |
| Exploit ScenarioDerived | An attacker who can influence a workflow parameter (for example, untrusted content processed by an AI-agent workflow, or a submitted job in a multi-tenant automation setup) inserts ${env.AWS_SECRET_ACCESS_KEY} or ${env.OPENAI_API_KEY} into a field. The engine's variable resolver expands it against the host environment before the module policy runs, so even though env.get is denylisted the secret is inlined and then carried out through an allowed module (e.g. an HTTP or model call). No public exploit code was provided, but the attack is low-complexity once parameter influence exists. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 29, 2026
Secret exfiltration in Flyto Core (flytohub/flyto-core) before 2.26.6 arises because the workflow-engine variable resolver expands ${env.VAR} for any host environment variable with no allowlist or capability-policy check. Because interpolation runs in the engine before the module chokepoint, an attacker who can influence a workflow parameter can read arbitrary host secrets even when the env.get and env.load_dotenv modules are explicitly denylisted, then leak them through modules that are still allowed. No public exploit identified at time of analysis; the vendor commit and GHSA advisory confirm the flaw and its fix in 2.26.6. CVSS 8.6 with a scope change (CVSS:3.1/S:C/C:H) reflects that impact crosses the intended sandbox boundary into the host credential store.
RemediationAI
Vendor-released patch: 2.26.6 - upgrade flyto-core to 2.26.6 or later, which gates ${env.*} interpolation through the same policy as the env.get module (deny-by-default) per GHSA-hr7p-wg7r-hg9m. After upgrading, keep env.get and env.load_dotenv denylisted for untrusted workflows and grant env access narrowly by setting FLYTO_ENV_VAR_ALLOWLIST to only non-sensitive names or globs (e.g. PUBLIC_*,APP_REGION); understand the trade-off that any name you add there becomes readable via interpolation again. If you cannot upgrade immediately, compensating controls are to remove secrets from the process environment of the workflow runtime (inject them at point-of-use via a broker/vault instead of os.environ so ${env.VAR} has nothing to resolve), run the engine in a minimal-environment container that carries no credentials, and restrict who can submit or influence workflow parameters - each reduces exposure but does not close the ungated interpolation path itself. Advisory and fix references: https://github.com/flytohub/flyto-core/security/advisories/GHSA-hr7p-wg7r-hg9m and the v2.26.6 release notes.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Flyto Core is an execution kernel for automation and AI-agent workflows. Its capability policy (module_policy) is meant to be the single chokepoint governing sensitive modules such as env.get (read a host environment variable) and env.load_dotenv (load a .env file). However, the engine's variable_resolver performs ${env.VAR} string interpolation on step parameters BEFORE any module runs, and _get_variable_value() resolved env names directly from os.environ with no policy consultation. This maps to CWE-522 (Insufficiently Protected Credentials): credentials that operators expected to be shielded by the module denylist were reachable through a parallel, ungated path. The vendor fix routes ${env.*} through a shared is_env_var_allowed() check that is deny-by-default unless env.get is permitted or the name matches an explicit FLYTO_ENV_VAR_ALLOWLIST (comma-separated names/fnmatch globs). CPE cpe:2.3:a:flytohub:flyto-core identifies the single affected package.
Know when Flyto Core 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:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Env interpolation is reachable via a network-supplied workflow parameter with no auth in agentic use (AV:N/PR:N/AC:L); secrets cross the sandbox boundary into host env, giving S:C and C:H with no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Flyto2 Core is an execution kernel for automation and AI-agent workflows. Prior to 2.26.6, the workflow engine variable resolver expands ${env.VAR} for any host environment variable without an allowlist or capability policy check, allowing a workflow parameter to bypass the default capability policy denylist for env.get and env.load_dotenv and exfiltrate secrets through allowed modules. This issue is fixed in version 2.26.6.
Executive ViewAI
Flyto Core before version 2.26.6 contains a vulnerability allowing attackers to steal host environment credentials and secrets by manipulating workflow parameters, potentially compromising all systems and credentials accessible to the Flyto Core host. Organizations using this software face immediate risk of credential compromise and unauthorized access to backend systems and data.
Apply vendor patch.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Flyto Core
View allArbitrary file write in flytohub Flyto Core (the execution kernel for automation and AI-agent workflows) prior to 2.26.6
Unauthenticated SSRF and secret exfiltration in Flyto Core (flytohub/flyto-core) prior to 2.26.7 lets remote attackers c
Sensitive credential exposure in Flyto Core (flytohub/flyto-core) prior to 2.26.6 lets a remote actor exfiltrate the ope
Server-side request forgery in Flyto Core (flytohub/flyto-core) prior to 2.26.7 lets a low-privileged workflow author co
Server-side request forgery in Flyto Core (flyto-core), an execution kernel for automation and AI-agent workflows, allow
Server-side request forgery guard bypass in Flyto Core (flyto-core) versions up to and including 2.27.0 allows authentic
EUVD-2026-50471
GHSA-hr7p-wg7r-hg9m
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB