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

CVE-2026-46612: Fission Auth Bypass Vulnerability

CVE-2026-46612 is an authentication bypass vulnerability in Fission's storagesvc component that allows unauthorized access to archive operations. This article covers the technical details, affected versions, and mitigation.

Published:

CVE-2026-46612 Overview

CVE-2026-46612 is a missing authentication vulnerability [CWE-306] in Fission, an open-source Kubernetes-native serverless framework. Versions prior to 1.23.0 expose archive CRUD handlers on the storagesvc component without any authentication or authorization checks. The affected routes include /v1/archive (GET, POST, DELETE) and /v1/archives (list). Any workload that can reach the storagesvc ClusterIP within the Kubernetes cluster can enumerate archive IDs, download archives from other tenants, upload arbitrary content, or delete existing archives. The maintainers patched the issue in version 1.23.0.

Critical Impact

Any in-cluster workload can read, modify, or delete Fission archives belonging to other tenants, breaking confidentiality, integrity, and availability of serverless function artifacts.

Affected Products

  • Fission versions prior to 1.23.0
  • Fission storagesvc component
  • Kubernetes clusters running vulnerable Fission deployments

Discovery Timeline

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

Technical Details for CVE-2026-46612

Vulnerability Analysis

The Fission storagesvc component stores function and package archives used by the serverless runtime. The HTTP router registers the archive CRUD endpoints directly without wrapping them in any authentication or authorization middleware. As a result, the service trusts every caller that can reach its ClusterIP address.

The affected handlers expose four operations. GET /v1/archive retrieves an archive by ID. POST /v1/archive uploads new archive content. DELETE /v1/archive removes an archive. GET /v1/archives enumerates archive identifiers across the storage namespace. None of these handlers verify caller identity, tenant ownership, or role membership.

For full technical details, see the GitHub Security Advisory GHSA-chf8-4hv6-8pg6 and the fix in Pull Request #3365.

Root Cause

The root cause is missing authentication on internal HTTP routes [CWE-306]. The storagesvc router binds archive handlers without an auth filter and relies on network reachability as its only access control. In a multi-tenant Kubernetes cluster, ClusterIP services are reachable by every pod in the cluster by default, which makes this implicit trust model insufficient.

Attack Vector

An attacker who controls any pod within the Kubernetes cluster — including a low-privilege tenant workload or a compromised sidecar — can issue HTTP requests to the storagesvc ClusterIP. The attacker lists archive IDs through /v1/archives, downloads each archive through /v1/archive?id=<id>, and extracts source code, secrets, or proprietary function logic. The attacker can also overwrite archives through POST /v1/archive to inject malicious code that executes when functions are invoked, or delete archives to cause denial of service.

// Example exploitation flow (described, not executable)
// 1. From any pod in the cluster, resolve storagesvc.<namespace>.svc.cluster.local
// 2. GET http://storagesvc.<ns>:8000/v1/archives -> list archive IDs
// 3. GET http://storagesvc.<ns>:8000/v1/archive?id=<id> -> download tenant code
// 4. POST http://storagesvc.<ns>:8000/v1/archive -> upload malicious archive
// 5. DELETE http://storagesvc.<ns>:8000/v1/archive?id=<id> -> remove archive

Detection Methods for CVE-2026-46612

Indicators of Compromise

  • Unexpected HTTP requests to storagesvc from pods outside the Fission control-plane namespace.
  • Archive IDs being listed, downloaded, or deleted by service accounts that do not belong to the Fission controller.
  • Unexplained changes to function archive checksums or sizes in the storage backend.
  • Function executions returning altered or unexpected output after archive modification.

Detection Strategies

  • Enable HTTP access logging on the storagesvc deployment and alert on /v1/archive and /v1/archives requests originating from non-Fission pods.
  • Inspect Kubernetes audit logs for pods that resolve or connect to the storagesvc Service from unexpected namespaces.
  • Correlate network flow logs against the expected client set, which is normally limited to the Fission executor and controller components.

Monitoring Recommendations

  • Capture archive checksum baselines and alert on out-of-band modifications.
  • Monitor storagesvc request volume for spikes consistent with enumeration or bulk download.
  • Track service account usage within the cluster to identify lateral movement attempts toward Fission components.

How to Mitigate CVE-2026-46612

Immediate Actions Required

  • Upgrade Fission to version 1.23.0 or later in every affected cluster.
  • Restrict network access to storagesvc using a Kubernetes NetworkPolicy that only allows the Fission control-plane components.
  • Audit existing archives for tampering and rotate any secrets that may have been exposed through downloaded archives.
  • Review cluster RBAC and tenant isolation to confirm that no untrusted workloads share the namespace with Fission.

Patch Information

The vulnerability is fixed in Fission v1.23.0. The fix adds authentication to the archive CRUD handlers in storagesvc. See Pull Request #3365 and Pull Request #3368 for the implementation details.

Workarounds

  • Apply a NetworkPolicy that limits ingress to storagesvc to only the fission-function and fission namespaces and the controller service accounts.
  • Place an authenticating reverse proxy in front of storagesvc until the upgrade can be completed.
  • Run Fission in a dedicated cluster with no untrusted tenant workloads to reduce exposure until patched.
bash
# Example NetworkPolicy restricting access to storagesvc
kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: storagesvc-restrict
  namespace: fission
spec:
  podSelector:
    matchLabels:
      svc: storagesvc
  policyTypes:
    - Ingress
  ingress:
    - from:
        - namespaceSelector:
            matchLabels:
              name: fission
        - podSelector:
            matchLabels:
              application: fission-controller
        - podSelector:
            matchLabels:
              application: fission-executor
EOF

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.