Skip to main content

Flyte CVE-2026-108728

| EUVDEUVD-2026-96894 HIGH
Cleartext Storage of Sensitive Information (CWE-312)
2026-10-11 VulnCheck GHSA-9m8h-33m4-p9vv
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to cluster with Pod read access
  2. Exploit
    Read task init container env vars from Pod spec
  3. Execution
    Extract base64 SECRETS variable
  4. Impact
    Decode to recover FILE-mounted secrets

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V14 - Data Protection Encrypted storage of sensitive data
Exploitation Conditions

Requires a Flyte 2.0.1-2.0.51 deployment whose embedded secret manager webhook mounts secrets in FILE mode, because the webhook base64-encodes those FILE-mounted values into the SECRETS environment variable of the task's init container within the Pod spec. The attacker must hold Kubernetes RBAC permission to read Pods (get/list) in the relevant namespace but does NOT need access to the Kubernetes Secret store - that privilege split is precisely what the flaw bypasses. Limiting factors: exploitation is confined to principals already authenticated to the cluster with Pod read rights, only affects secrets configured as FILE mounts (not necessarily env-injected secrets), and is most impactful in multi-tenant clusters that intentionally segregate Pod-read from Secret-read permissions.

Impact

This is a credible but conditional information-disclosure issue rather than a critical remote-takeover bug. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N) scores 7.1 HIGH, driven entirely by high confidentiality impact with no integrity or availability impact. PR:L confirms an authenticated principal is required - specifically a Kubernetes user/service account holding Pod read permission - so this is not an unauthenticated internet-facing flaw despite AV:N. The AV:N reflects that the Kubernetes API server (where Pod specs are read) is network-reachable, but exploitation presupposes existing cluster credentials. No EPSS score, CISA KEV listing, or POC/exploit-code flag is present in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the only exploitation-relevant artifacts are a VulnCheck advisory and a third-party hackmd technical write-up describing the mechanism. The signals are consistent with each other (no conflict between CVSS and description), pointing to a real but privilege-gated priority: it matters most as a privilege-boundary/least-privilege bypass inside multi-tenant Flyte-on-Kubernetes clusters, not as a mass-exploitable vulnerability. Patch/fixed-version information is NOT present in the provided input and could not be independently verified.

Exploit ScenarioDerived

In a multi-tenant Flyte-on-Kubernetes deployment, a low-privileged user who has been granted only Pod read access (but explicitly denied access to the Kubernetes Secret store) lists or gets a task Pod and reads its init container spec. The embedded secret manager webhook has written FILE-mounted secret values as base64 into the SECRETS environment variable, so the user simply base64-decodes those values to recover secrets they were never authorized to see. No public exploit code is identified at time of analysis, but the technique is fully documented in the referenced write-up and requires no special tooling.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 11, 2026

Secret values used by Flyte task pods can be recovered by anyone who can read Pods: in Flyte 2.0.1 through 2.0.51 the embedded secret manager webhook base64-encodes FILE-mounted secret contents into the SECRETS environment variable of the task's init container, so a principal with Kubernetes Pod get/list rights in the namespace can decode them without holding any Secret-store permission - the exact privilege separation the feature was meant to preserve. Assessed as a credible but conditional information-disclosure issue rather than a critical remote-takeover bug: exploitation requires an authenticated cluster principal with Pod-read RBAC and a deployment that mounts secrets in FILE mode, and it is most damaging in multi-tenant clusters that intentionally segregate Pod-read from Secret-read. Base64 encoding is not encryption, so confidentiality is fully lost for affected secrets (CVSS 4.0 score 7.1, VC:H, PR:L, no integrity or availability impact); no public exploit code or active exploitation was identified at time of analysis.

RemediationAI

No vendor-released patch was identified in the available intelligence at time of analysis, and the referenced GitHub links point at the vulnerable source regions rather than a tagged fix, so remediation currently depends on compensating controls. The most direct control is to remove the broad Pod-read grant: audit and tighten Kubernetes RBAC so that roles with get/list on pods are granted only to principals who are also authorized to read the corresponding Secrets, since the flaw's entire advantage comes from splitting those two permissions. Where secrets must be delivered to pods, prefer a runtime secret-fetch path (for example an external secret backend or sidecar/Vault-style retrieval) over the embedded secret manager's FILE-mount-to-env copying, and switch workloads off FILE-mounted secrets whose values land in the SECRETS environment variable; the trade-off is added runtime dependency on the secret backend and possible task startup latency or failure modes if the backend is unavailable. Consider disabling or bypassing the embedded secret manager webhook for namespaces that handle sensitive data, accepting that tasks relying on it will fail until an alternative is configured. Because any value already exposed in a Pod spec must be treated as compromised, rotate every secret that was mounted in FILE mode under the affected versions and review Kubernetes audit logs for get/list calls against pods by principals lacking Secret-read rights. Note that blanket reductions in Pod-read access can break CI/CD observability, kubectl diagnostics, and operator tooling, so scope the change per namespace rather than cluster-wide.

Affected VersionsENISA

flyte 2.0.1 ≤2.0.51

Affected Packages

euvd flyte no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-312, Cleartext Storage of Sensitive Information: Flyte's embedded secret manager in flyteplugins/go/tasks/pluginmachinery/secret/embedded_secret_manager.go reads secret material and the admission webhook in executor/pkg/webhook/handler.go then materializes it into the Pod specification, writing base64-encoded FILE-mounted values into the SECRETS environment variable of the init container. Because base64 is a reversible encoding rather than a cryptographic protection, the value is effectively cleartext to anyone who can fetch the Pod object via the Kubernetes API - a design flaw common to admission-webhook secret injection, where the Pod spec itself becomes a secret-bearing artifact. The affected component is the Go-based Flyte workflow orchestration platform (CPE cpe:2.3:a:flyteorg:flyte), specifically the embedded secret manager path rather than an external/pluggable secret backend. The CVSS 4.0 vector CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N (and the assessor's CVSS 3.1 equivalent AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) confirms the profile: network-reachable API, low-privilege authenticated attacker (PR:L, so authenticated rather than anonymous), high confidentiality impact, and no integrity or availability effect. Note the scope of the exposure is limited to secrets configured as FILE mounts; secrets delivered through other mechanisms are not necessarily copied into the Pod spec by this code path.

Know when Kubernetes 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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Kubernetes API is network-reachable (AV:N) but requires authenticated Pod-read RBAC (PR:L); impact is pure secret disclosure, so C:H with I:N/A:N and no scope change.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Flyte 2.0.1 through 2.0.51 contains a cleartext secret storage vulnerability that allows users with Pod read access to obtain secrets by reading init container environment variables. The embedded secret manager webhook writes base64-encoded FILE-mounted secret values into the SECRETS environment variable, letting principals without Secret store access decode them from the Pod spec.

Executive ViewAI

Why It Matters

Flyte versions 2.0.1 through 2.0.51 expose the contents of file-mounted secrets to any cluster user holding basic Pod read permissions in the affected namespace, because those values are base64-encoded - not encrypted - into an environment variable on every task's init container. This breaks the intended separation between 'can see Pods' and 'can read secrets,' meaning teams operating shared or multi-tenant Kubernetes clusters should assume that credentials, tokens, and API keys mounted in FILE mode are readable by a much broader group of principals than intended. Because no vendor patch is available, leadership should treat this as an open, unmitigated confidentiality exposure for any Flyte deployment that uses file-mounted secrets in a namespace where Pod-read rights are broadly granted.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict Kubernetes Pod get/list RBAC in Flyte namespaces to the smallest possible set of principals, rotate all FILE-mounted secrets exposed to broad Pod-read audiences, prefer secret delivery modes that do not place values in init-container environment variables, and monitor for anomalous Pod enumeration or environment-variable access until a fixed Flyte release is available.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
niche Kubernetes-native ML workflow orchestrator, not broadly deployed outside ML infra
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2025-1974 CRITICAL POC
9.8 Mar 25

A critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access

CVE-2026-45321 CRITICAL POC
9.6 May 12

Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio

CVE-2025-1098 HIGH POC
8.8 Mar 25

Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress

CVE-2025-24514 HIGH POC
8.8 Mar 25

A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres

CVE-2025-1097 HIGH POC
8.8 Mar 25

A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c

CVE-2020-8554 MEDIUM POC
6.3 Jan 21

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.exter

CVE-2023-3676 HIGH POC
8.8 Oct 31

A security issue was discovered in Kubernetes where a user that can create pods on Windows nodes may be able to escalate

CVE-2025-55190 CRITICAL POC
9.9 Sep 04

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne

CVE-2026-34976 CRITICAL POC
10.0 Apr 02

Unauthenticated remote attackers can trigger complete database overwrites, server-side file reads, and SSRF attacks agai

CVE-2018-18843 CRITICAL POC
10.0 Dec 04

The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4

CVE-2026-54680 CRITICAL POC
9.9 Jul 29

Fluentd configuration injection in the kube-logging Logging operator before 6.6.0 allows a namespace-scoped user who can

CVE-2025-64709 CRITICAL POC
9.9 Nov 13

Authenticated Typebot users can abuse the webhook block (HTTP Request component) in versions prior to 3.13.1 to issue ar

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy