Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-49824

CVE-2026-49824: Fission Auth Bypass Vulnerability

CVE-2026-49824 is an authentication bypass vulnerability in Fission, a Kubernetes-native serverless framework. The flaw allows namespace validation bypass. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-49824 Overview

Fission is an open-source, Kubernetes-native serverless framework for deploying functions on Kubernetes clusters. CVE-2026-49824 affects the Fission Function admission webhook in pkg/webhook/function.go. The webhook validates that spec.secrets[].namespace and spec.configmaps[].namespace match the function's own namespace but performs no equivalent check on spec.environment.namespace. This missing access control [CWE-284] allows a tenant with permissions in one namespace to reference an environment in another namespace, enabling cross-namespace access in multi-tenant Kubernetes clusters. The issue is patched in Fission version 1.24.0.

Critical Impact

Authenticated users can reference Fission environments across namespace boundaries, breaking multi-tenant isolation and exposing confidential resources in shared clusters.

Affected Products

  • Fission serverless framework versions prior to 1.24.0
  • Kubernetes clusters running the Fission Function admission webhook
  • Multi-tenant Fission deployments relying on namespace isolation

Discovery Timeline

  • 2026-06-10 - CVE-2026-49824 published to NVD
  • 2026-06-10 - Last updated in NVD database

Technical Details for CVE-2026-49824

Vulnerability Analysis

The Fission Function admission webhook enforces namespace boundaries on referenced secrets and config maps. The webhook compares spec.secrets[].namespace and spec.configmaps[].namespace against the namespace of the function being created. The check rejects cross-namespace references for those two fields. The webhook omits the same validation for spec.environment.namespace, allowing a function to declare an environment located in any namespace.

Fission environments contain container images, builder configurations, and runtime settings. A tenant who can create functions in their assigned namespace can reference an environment owned by another tenant. This breaks the namespace isolation model that Kubernetes operators rely on for multi-tenant clusters. The flaw maps to CWE-284 (Improper Access Control) and exhibits a scope change because the impact extends beyond the attacker's namespace into resources owned by other tenants.

Root Cause

The root cause is an incomplete validation routine in pkg/webhook/function.go. The function-level admission logic was extended to cover secret and config map references but never updated to include the environment reference. The omission creates an authorization gap because the webhook is the enforcement point for tenant boundaries on function specifications.

Attack Vector

An attacker authenticates to the Kubernetes API with permissions to create Fission Function resources in at least one namespace. The attacker submits a Function manifest where spec.environment.namespace points to a namespace the attacker does not control. The admission webhook accepts the manifest, and Fission uses the referenced environment to execute the attacker's function code. This grants indirect access to environment configurations and any privileges they carry. The attack vector is network-based, requires low privileges, and needs no user interaction.

No verified public proof-of-concept code is available. See the GitHub Security Advisory GHSA-cvw6-gfvv-953q and the GitHub Pull Request Discussion for technical details on the patch.

Detection Methods for CVE-2026-49824

Indicators of Compromise

  • Fission Function resources where spec.environment.namespace differs from the function's own metadata.namespace.
  • Audit log entries showing functions.fission.io create or update operations from service accounts outside the environment's namespace.
  • Unexpected pod executions referencing environment images owned by other tenants.

Detection Strategies

  • Query the Kubernetes API for all Fission Function objects and flag any where spec.environment.namespace is set to a namespace different from the function's namespace.
  • Enable Kubernetes audit logging at the RequestResponse level for the fission.io API group and review admission decisions for cross-namespace references.
  • Deploy an OPA Gatekeeper or Kyverno policy that mirrors the missing webhook check and reports violations.

Monitoring Recommendations

  • Track creation and modification events for functions.fission.io resources, focusing on the spec.environment field.
  • Monitor Fission controller logs for environment lookups that cross namespace boundaries.
  • Alert on Function resources created by service accounts that do not own the referenced environment.

How to Mitigate CVE-2026-49824

Immediate Actions Required

  • Upgrade Fission to version 1.24.0 or later, which adds the missing namespace check on spec.environment.namespace.
  • Audit existing Function resources for cross-namespace environment references and remove or correct any unauthorized entries.
  • Restrict create and update permissions on functions.fission.io to trusted service accounts in multi-tenant clusters until the upgrade completes.

Patch Information

The fix is included in Fission v1.24.0. The patch extends the admission webhook in pkg/webhook/function.go to validate that spec.environment.namespace matches the function's namespace, applying the same check used for secrets and config maps. Review the GitHub Pull Request Discussion for the code change.

Workarounds

  • Deploy a Kyverno or OPA Gatekeeper policy that rejects Fission Function manifests where spec.environment.namespace does not equal metadata.namespace.
  • Limit Function creation permissions in multi-tenant namespaces using Kubernetes Role-Based Access Control until the patched version is deployed.
  • Isolate sensitive Fission environments in clusters separate from untrusted tenant workloads.
bash
# Upgrade Fission via Helm to the patched release
helm repo update
helm upgrade --install fission fission-charts/fission-all \
  --namespace fission \
  --version 1.24.0

# Audit existing functions for cross-namespace environment references
kubectl get functions.fission.io -A -o json | \
  jq -r '.items[] | select(.spec.environment.namespace != .metadata.namespace) |
    "\(.metadata.namespace)/\(.metadata.name) -> env \(.spec.environment.namespace)/\(.spec.environment.name)"'

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.