Skip to main content

KEDA CVE-2025-68476

HIGH
Path Traversal (CWE-22)
2025-12-22 security-advisories@github.com
8.2
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Obtain RBAC to modify TriggerAuthentication
  2. Delivery
    Craft resource with arbitrary serviceAccount file path
  3. Exploit
    Point Vault address to attacker server
  4. Execution
    KEDA reads file and sends contents to attacker
  5. Impact
    Exfiltrate node secrets/keys/system files

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires Kubernetes RBAC permission to create or modify a TriggerAuthentication resource in the cluster, and the target KEDA resource must use TriggerAuthentication configured for HashiCorp Vault authentication (spec.hashiCorpVault.credential.serviceAccount). The attacker also needs to direct the Vault authentication request to a server they control to receive the exfiltrated file contents. The primary limiting factor is the PR:H prerequisite: only users with create/update rights on TriggerAuthentication can exploit it - the advisory's sole effective workaround is strictly restricting those RBAC permissions to trusted users. Affected versions are KEDA <2.17.3 and 2.18.0-2.18.3 (fixed in 2.17.3, 2.18.3, and >=2.19.0).

Impact

This is a genuine but access-gated confidentiality issue rather than a critical broadly-exploitable flaw. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/SC:H, score 8.2) is internally consistent with the description: exploitation requires PR:H - specifically Kubernetes RBAC permission to create or modify a TriggerAuthentication custom resource - and the SC:H (subsequent system High) correctly reflects that the read escapes the KEDA pod to reach the underlying node's filesystem. This is not a PR:N remote-unauth bug; the 'AV:N' reflects that TriggerAuthentication objects are submitted via the Kubernetes API, but the privilege prerequisite is the real gate. Supporting signals are muted: EPSS is 0.55% (44th percentile), there is no CISA KEV listing (no public exploit identified at time of analysis), and no public POC. The signals are consistent - moderate CVSS, low EPSS, no active exploitation - indicating a real-but-targeted risk requiring an existing foothold with meaningful cluster RBAC, not a mass-exploitation candidate. The source-code diff independently confirms the root cause (an unvalidated os.ReadFile on the user-supplied ServiceAccount path, replaced by a JWT-validating reader), raising confidence that the fix and description are accurate.

Exploit ScenarioDerived

An attacker who has already obtained Kubernetes RBAC rights to create or modify TriggerAuthentication resources (e.g., a low-trust tenant, compromised CI service account, or malicious insider) crafts a TriggerAuthentication pointing spec.hashiCorpVault.credential.serviceAccount at an arbitrary node path such as /etc/passwd or a mounted secret, and sets the Vault address to a server they control. When KEDA authenticates, it reads that file and sends its contents to the attacker's server, exfiltrating node secrets and system files. No public POC or exploit code is currently identified.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.6% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 25, 2026

Arbitrary file read in KEDA (Kubernetes Event Driven Autoscaling) affects operator versions prior to 2.17.3 and 2.18.0 through 2.18.2 (fixed in 2.17.3, 2.18.3 and 2.19.0+), allowing an authenticated attacker who holds Kubernetes RBAC permission to create or modify a TriggerAuthentication resource to direct the content of any file on the KEDA pod's node - such as service account tokens, secrets, or /etc/passwd - to an attacker-controlled HashiCorp Vault endpoint during the Vault authentication handshake. This is an access-gated confidentiality issue rather than a broadly exploitable flaw: the PR:H prerequisite (write access to TriggerAuthentication) is the main limiting factor, and the advisory's only effective workaround is strict RBAC restriction on that resource. No public exploit code has been identified at time of analysis, and EPSS is low at 0.55% (44th percentile), with no CISA KEV listing.

RemediationAI

Upgrade the KEDA operator to a patched release: vendor-released patch: 2.17.3, 2.18.3, or 2.19.0 and later (the fix commit is 15c5677f65f809b9b6b59a52f4cf793db0a510fd, and full details are in advisory GHSA-c4p6-qg4m-9jmr). If immediate upgrade is not possible, apply the advisory's stated workaround by strictly restricting Kubernetes RBAC so that only trusted, authorized identities hold create or update permissions on TriggerAuthentication resources - this removes the attacker's ability to supply a malicious serviceAccount path, at the cost of centralizing change control for that resource. As additional compensating controls, limit network egress from the KEDA operator namespace so it can only reach the legitimate Vault endpoint, since exfiltration depends on sending the captured file content to an attacker-controlled server; and where Vault authentication is not required, avoid TriggerAuthentication configurations that use spec.hashiCorpVault.credential.serviceAccount entirely. After patching, verify the operator image reports 2.17.3, 2.18.3 or >= 2.19.0 and audit existing TriggerAuthentication objects for unexpected serviceAccount paths. Note that no vendor-released patch is available for unsupported branches, and the only mitigations there are the RBAC and network-egress restrictions above, which trade convenience for reduced exposure.

Affected Packages

go github.com/kedacore/keda no fix
go github.com/kedacore/keda/v2 fix: 2.17.3, 2.18.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go

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

Technical ContextAI · show details

The vulnerability is a path traversal (CWE-22) in the HashiCorp Vault integration of the KEDA operator. In pkg/scaling/resolver/hashicorpvault_handler.go, the Vault handler read the file specified by spec.hashiCorpVault.credential.serviceAccount directly via os.ReadFile and used its contents as the JWT sent in the Vault login request, without validating that the path actually pointed at the Kubernetes projected service account token (default /var/run/secrets/kubernetes.io/serviceaccount/token). Because the file content is transmitted to whatever Vault address is configured, an attacker who can set that path can read arbitrary files readable by the KEDA operator process and exfiltrate them over the outbound Vault request. The upstream fix introduces pkg/scaling/resolver/k8s_validator.go with readKubernetesServiceAccountProjectedToken(), which parses the file as a JWT and rejects it unless the subject claim begins with 'system:serviceaccount:', and it also replaces the hard-coded token path with a named constant. The change turns the read into a validated, token-shaped-only operation, closing the arbitrary-file-read primitive while preserving legitimate Vault JWT authentication via TriggerAuthentication.

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 (github) PRIMARY 8.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
vuln.today AI 6.8 MEDIUM

Attacker submits a malicious TriggerAuthentication via the K8s API (AV:N) needing high RBAC privileges (PR:H); reading node files beyond the pod boundary is a scope change (S:C) with confidentiality-only impact (C:H, I/A:N).

3.1 AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
SUSE HIGH
Red Hat 7.7 HIGH

Primary rating from Vendor (github).

CVSS VectorVendor: github

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

DescriptionCVE.org

KEDA is a Kubernetes-based Event Driven Autoscaling component. Prior to versions 2.17.3 and 2.18.3, an Arbitrary File Read vulnerability has been identified in KEDA, potentially affecting any KEDA resource that uses TriggerAuthentication to configure HashiCorp Vault authentication. The vulnerability stems from an incorrect or insufficient path validation when loading the Service Account Token specified in spec.hashiCorpVault.credential.serviceAccount. An attacker with permissions to create or modify a TriggerAuthentication resource can exfiltrate the content of any file from the node's filesystem (where the KEDA pod resides) by directing the file's content to a server under their control, as part of the Vault authentication request. The potential impact includes the exfiltration of sensitive system information, such as secrets, keys, or the content of files like /etc/passwd. This issue has been patched in versions 2.17.3 and 2.18.3.

Executive ViewAI

Why It Matters

KEDA, the event-driven autoscaling component used across many Kubernetes clusters, contains a high-severity flaw that allows a user who already holds rights to manage TriggerAuthentication resources to read arbitrary files from the node hosting the KEDA operator, including service account tokens and secrets. The exposure is narrow by design - it requires an attacker to have already been granted that specific write access - so the practical risk concentrates on platform and DevOps teams with broad cluster permissions rather than the general user base. Leadership should care because captured tokens and credentials from those files could enable lateral movement and privilege escalation into production workloads, and the advisory's only effective workaround is tightening RBAC on that resource.

Business Impact: High
Compensating Controls

Apply vendor patch (fixed in KEDA 2.17.3, 2.18.3, and 2.19.0+). Where upgrading cannot be completed immediately, enforce strict RBAC restriction limiting who may create or modify TriggerAuthentication resources, per the vendor advisory's stated workaround, and monitor for unauthorized changes to those resources.

Threat Intelligence Overview

EPSS Score
0.6%
Top 56% exploitable
Prevalence
Medium
CNCF autoscaler common in Kubernetes, but Vault TriggerAuthentication is a subset
Data Quality
4 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.6%
Patch available Yes
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

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Server 16.1 Affected
SUSE Linux Enterprise Server for SAP applications 16.1 Affected

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