Skip to main content

Fission CVE-2026-46612

HIGH
Missing Authentication for Critical Function (CWE-306)
2026-05-21 https://github.com/fission/fission GHSA-chf8-4hv6-8pg6
8.8
CVSS 3.1
Share

CVSS VectorNVD

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Source Code Evidence Fetched
May 21, 2026 - 21:02 vuln.today
Analysis Generated
May 21, 2026 - 21:02 vuln.today

DescriptionNVD

Summary

The Fission storagesvc component registers archive CRUD handlers (/v1/archive GET / POST / DELETE and /v1/archives list) directly on its HTTP router without performing any authentication or authorization. Any caller able to reach the storagesvc ClusterIP - including any other workload in the same Kubernetes cluster - could enumerate archive IDs, download archives belonging to other tenants, upload arbitrary archive content, and delete archives.

Affected component

  • pkg/storagesvc/storagesvc.go - handler registration and per-route handler logic at lines 72-95 (list), 167-199 (download/delete), and 263-270 (route wiring).

Impact

A workload elsewhere in the cluster (e.g. a compromised function pod, a noisy-neighbour tenant in a multi-tenant deployment, or any pod whose egress is not constrained by NetworkPolicy) could:

  1. Enumerate every function deployment archive in the cluster.
  2. Download the deployment archive of any function in any namespace, exposing the function's source code and any embedded secrets.
  3. Delete archives, causing the next function specialization or rebuild to fail.
  4. Upload arbitrary archives that subsequent function specializations would fetch and execute.

In multi-tenant Fission deployments this completely breaks the tenant boundary for function code.

Root cause

pkg/storagesvc/storagesvc.go mounts the handlers without an authentication middleware. Network-layer controls (NetworkPolicy) were the only line of defence before this fix, and the chart shipped no NetworkPolicy for storagesvc by default, so reachability was open.

Fix

Released in v1.23.0:

  • PR #3368 (commit 2455fc0c) wraps the storagesvc archive routes with the application-layer HMAC verifier from pkg/auth/hmac using the ServiceStoragesvc derived key. Callers (executor, fetcher, builder, CLI) sign their requests using a shared cluster master secret derived per-service via HKDF. Mismatched signatures are rejected with 401.
  • Defence in depth: PR #3365 added a NetworkPolicy for storagesvc so only the executor/fetcher/builder pods can reach it network-layer (independent of authentication).

Mitigation (until upgrade)

  1. Enable the Helm chart's per-service NetworkPolicy (set networkPolicy.enabled=true).
  2. Restrict storagesvc egress/ingress to the executor, builder, and fetcher pods only.
  3. Avoid running untrusted workloads in the cluster that hosts Fission.

AnalysisAI

Unauthenticated archive CRUD in Fission's storagesvc (≤ v1.22.0) lets any in-cluster workload list, download, replace, or delete function deployment archives across all tenants by hitting the ClusterIP-exposed /v1/archive and /v1/archives endpoints. Because uploaded archives are later fetched and executed by function specialization, the flaw escalates from a tenant data-exposure issue to in-cluster code execution. …

Sign in for full analysis, threat intelligence, and remediation guidance.

RemediationAI

24 hours: Identify all Fission v1.22.0 and earlier instances in your environment. Audit network exposure (public vs. …

Sign in for detailed remediation steps.

Share

CVE-2026-46612 vulnerability details – vuln.today

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