Skip to main content

Fission EUVDEUVD-2026-36092

| CVE-2026-46617 HIGH
Execution with Unnecessary Privileges (CWE-250)
2026-05-21 https://github.com/fission/fission GHSA-85g2-pmrx-r49q
8.7
CVSS 4.0 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Obtain Function-deploy RBAC in target namespace
  2. Delivery
    Author function code that reads SA token from /var/run/secrets/kubernetes.io/serviceaccount/token
  3. Exploit
    Deploy function via Fission API
  4. Execution
    User container starts with fission-fetcher token mounted
  5. Persist
    Call Kubernetes API to list/get all namespace secrets and configmaps
  6. Impact
    Exfiltrate credentials and pivot to external systems

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V8 - Authorization Unnecessary privilege execution
Exploitation Conditions

Attacker must have Kubernetes RBAC permission to create or update Function or Package CRDs in a namespace where Fission runtime pods are scheduled, and Fission must be deployed at version 1.22.0 or earlier with the default fission-fetcher ServiceAccount configuration (namespace-wide get on secrets and configmaps). No user interaction or additional authentication is required beyond the Function-create permission; exploitation works against default Fission installs and does not depend on a non-default feature toggle. Exploitation is limited to secrets and configmaps within the runtime pod's own namespace - it does not directly grant cross-namespace or cluster-wide read. The CVSS vector states PR:N (no privileges required), but the description establishes that Function-deploy RBAC is a real precondition, so defenders should not interpret this as anonymous-internet exploitable.

Impact

CVSS 4.0 base score is 8.7 with vector AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N - high confidentiality impact, no integrity or availability impact, and the scored attack surface is treated as network-reachable with no privileges. However, the description makes clear that exploitation requires the ability to deploy or update a Function/Package CRD in a namespace where Fission runtime pods are scheduled, which is a Kubernetes RBAC privilege rather than a true unauthenticated network capability - the CVSS PR:N rating conflicts with the realistic precondition and security teams should weight this accordingly. EPSS, KEV listing, and POC status are not provided in the input, so no public exploit identified at time of analysis and exploitation likelihood data is unavailable. Real-world risk is highest in multi-tenant Fission deployments and shared-namespace environments where the implicit trust boundary between 'can deploy a function' and 'can read all namespace secrets' is broken; in single-team clusters where function authors are already trusted with namespace secrets, real-world risk is lower despite the high CVSS.

Exploit ScenarioDerived

An internal developer or compromised CI/CD identity with permission to create Functions in a Fission-enabled namespace uploads a function whose code reads /var/run/secrets/kubernetes.io/serviceaccount/token and calls the Kubernetes API to list and get every Secret in the namespace - exfiltrating TLS keys, database credentials, OIDC client secrets, and cloud provider credentials. The attacker then pivots using the harvested credentials into managed databases, cloud accounts, or other clusters those secrets unlock. No public exploit identified at time of analysis, but the attack requires only standard Kubernetes API calls from inside the user container and is straightforward to script.

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

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

Alert me

AnalysisAIv3 – Jun 10, 2026

Privilege escalation in Fission (Kubernetes serverless framework) versions <= 1.22.0 allows any user able to deploy or update a Function CRD to read every Secret and ConfigMap in the runtime namespace, bypassing the Function.spec.secrets allowlist. The flaw stems from runtime pods running under the namespace-privileged fission-fetcher ServiceAccount whose automounted token is reachable by the user-code container alongside the fetcher sidecar. No public exploit identified at time of analysis, but the vendor-issued advisory (GHSA-85g2-pmrx-r49q) describes a trivially reachable abuse path once a function can be deployed.

Earlier versions of this analysis (2)
v2 Jun 10, 2026 - 18:28 cvss changed CVSS 8.7

Namespace-wide secret and configmap disclosure in Fission serverless platform (<= 1.22.0) lets anyone who can deploy or update a Function read every Kubernetes Secret and ConfigMap in the function's namespace by abusing the fission-fetcher ServiceAccount token automounted into the user-code container. The bug stems from a shared pod-level ServiceAccount granting the fetcher sidecar's namespace-wide get permissions to the user's code container as well. No public exploit identified at time of analysis, but an upstream fix is shipped in v1.23.0 via PR #3366.

v1 May 21, 2026 - 21:01

Privilege escalation in Fission serverless platform versions through 1.22.0 allows function authors to read every Kubernetes Secret and ConfigMap in their function's namespace by abusing the fission-fetcher ServiceAccount token that is automounted into the user function container alongside the fetcher sidecar. The flaw violates the Function.spec.secrets allowlist contract and exposes TLS keys, OIDC client secrets, database credentials, and cloud provider credentials to any tenant who can deploy or update a Function. No public exploit identified at time of analysis, but exploitation is trivial for anyone with function-deploy rights.

RemediationAI

Vendor-released patch: upgrade Fission to v1.23.0 (https://github.com/fission/fission/releases/tag/v1.23.0), which sets AutomountServiceAccountToken=false at the pod level and re-mounts the fetcher SA token via a projected volume only on the fetcher sidecar (PR #3366, https://github.com/fission/fission/pull/3366). If upgrade is not immediately possible, the vendor recommends three compensating controls with trade-offs to weigh: tightly restrict who can create or update Function and Package CRDs and treat that permission as equivalent to namespace-wide secret read (effective but operationally restrictive for teams that delegate function deployment); narrow the fission-fetcher ClusterRole/Role to specific named secrets via separate RoleBindings (reduces blast radius but may break functions that legitimately rely on broader fetcher reads); and add a NetworkPolicy egress rule denying function pods access to the Kubernetes API server (blunts the leaked token but will break any function or sidecar that legitimately calls the API).

Affected VersionsENISA

fission < 1.23.0

Affected Packages

go github.com/fission/fission fix: 1.23.0
euvd fission fix: 1.23.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

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

Technical ContextAI · show details

Fission is an open-source serverless/FaaS platform built on Kubernetes (Go module github.com/fission/fission). It executes user code in runtime pods composed of a fetcher sidecar (which retrieves function package archives and configuration from the Fission control plane) and a user-code container. Pods were assigned ServiceAccountName: fission-fetcher in pkg/executor/executortype/poolmgr/gp_deployment.go and pkg/executor/executortype/newdeploy/newdeploy.go, and that ServiceAccount has namespace-wide get on secrets and configmaps (pkg/utils/serviceaccount.go). Kubernetes does not support per-container ServiceAccount scoping within a single pod, so by default kubelet projects the SA token to /var/run/secrets/kubernetes.io/serviceaccount/token in every container - mapping cleanly to CWE-250 (Execution with Unnecessary Privileges), where the user-code container inherits cluster API privileges it never needed.

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

NVD PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
SUSE HIGH

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
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

Lifecycle Timeline

3
Analysis Updated
Jun 10, 2026 - 18:28 vuln.today
v3 - CVSS changed
Analysis Updated
Jun 10, 2026 - 18:28 vuln.today
v2 - CVSS changed
CVSS changed
Jun 10, 2026 - 18:22 NVD
8.7 (HIGH)

DescriptionNVD

Summary

Fission runtime pods were created with ServiceAccountName: fission-fetcher, and the fission-fetcher ServiceAccount was granted namespace-wide get on secrets and configmaps (it needs that to load function code, env vars, and config). The runtime pod's automounted token was reachable from inside the user's function container at /var/run/secrets/kubernetes.io/serviceaccount/token, so user-supplied function code inherited the same Kubernetes API privileges and could read any secret or configmap in the function's namespace - far beyond the Function.spec.secrets allowlist that the function specification suggests.

Affected component

  • pkg/executor/executortype/poolmgr/gp_deployment.go:154-156 - pool-manager runtime pod ServiceAccountName.
  • pkg/executor/executortype/newdeploy/newdeploy.go:225-227 - new-deploy runtime pod ServiceAccountName.
  • pkg/utils/serviceaccount.go:51-64 - fission-fetcher RBAC: namespace-wide get on secrets / configmaps.

Impact

A user able to deploy or update a function in any namespace where Fission runtime pods are scheduled could:

  1. Read every secret in that namespace (TLS keys, OIDC client secrets, database credentials, cloud provider credentials).
  2. Read every configmap in that namespace.
  3. Use those credentials to pivot to other Kubernetes resources or external systems the secrets unlock.

This violates the principle that Function.spec.secrets is the authoritative declaration of which secrets a function can read.

Root cause

The fetcher sidecar legitimately needs the SA token to call the Fission control plane and fetch package archives. Setting ServiceAccountName: fission-fetcher on the pod gives every container in the pod (including the user container) the automounted token. Kubernetes does not provide per-container service-account scoping inside a single pod, so the user container has to be moved into a separate identity / token-mount scheme.

Fix

Released in v1.23.0:

  • PR #3366 (commit fe1842ef):
  • The user function container now sets AutomountServiceAccountToken: false at the container level (via projected-volume token suppression), so the user container no longer sees the pod's SA token even though the fetcher sidecar still does.
  • The fetcher sidecar retains its existing token mount (separate projected volume) since it needs cluster API access for its own work.
  • For the few legitimate use cases where a function needs its own Kubernetes API access, the user is expected to mount a different ServiceAccount via Function.spec.podspec with the minimum necessary RBAC (documented separately).

Mitigation (until upgrade)

  1. Restrict who can create / update Function and Package CRDs in your cluster - treat the ability to ship function code as equivalent to namespace-wide secret read.
  2. Reduce the fission-fetcher ClusterRole / Role scope where possible (e.g. constrain it to specific named secrets via separate Role bindings).
  3. Add NetworkPolicy egress rules denying function pods access to the Kubernetes API server (this blunts the token even if it leaks).

Executive ViewAI

Why It Matters

Fission Kubernetes serverless framework versions 1.22.0 and earlier contain a privilege escalation vulnerability (CVE-2026-46617, CVSS 8.7) enabling users with function deployment permissions to access all Secrets and ConfigMaps in the runtime namespace, bypassing intended access controls. This creates direct exposure of sensitive credentials and configuration data to unauthorized users within the cluster. Organizations running affected Fission versions should prioritize immediate patching to prevent data exfiltration.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 88% exploitable
Threat Intel
1
1 source
Data Quality
3 sources
Confidence: Low

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.0%
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
Yes
Human Impact
High

Priority Score

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

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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
SUSE Linux Enterprise Module for Package Hub 15 SP5 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP6 Affected
openSUSE Leap 15.5 Affected

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