Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N
Lifecycle Timeline
4DescriptionNVD
Fission is an open-source, Kubernetes-native serverless framework that simplifies the deployment of functions and applications on Kubernetes. Prior to version 1.25.0, Unarchive in pkg/utils/zip.go joined each archive entry name with the destination directory via filepath.Join and wrote the result without checking whether the resolved path stayed under the destination. A zip entry named ../../tmp/evil therefore landed at /tmp/evil. An attacker who could control a Package.Spec.Source.URL or Deployment.URL archive could induce the fetcher (running as the per-environment pod's fission-fetcher sidecar) to write files anywhere that process could reach: into other tenants' /packages/<ns>/ directories, into mounted secret/config volumes, or into the fetcher's own binary. This issue has been patched in version 1.25.0.
Articles & Coverage 1
AnalysisAI
Path traversal in Fission Kubernetes serverless framework prior to version 1.25.0 allows authenticated tenants to write files outside the intended extraction directory by submitting a crafted package archive. The fetcher sidecar (fission-fetcher) processes attacker-controlled Package.Spec.Source.URL or Deployment.URL archives via Unarchive in pkg/utils/zip.go, where filepath.Join was used without verifying the resolved path stayed under the destination, enabling cross-tenant file overwrite, tampering with mounted secret/config volumes, or overwriting the fetcher binary itself. No public exploit identified at time of analysis and the issue is not listed in CISA KEV.
Technical ContextAI
Fission is an open-source, Kubernetes-native serverless/FaaS framework that pulls user-supplied function code as zip archives and unpacks them inside per-environment pods. The flaw is a classic zip-slip (CWE-22 path traversal) in pkg/utils/zip.go's Unarchive function: it called filepath.Join(dst, f.NameInArchive) and wrote the result directly, so an entry named '../../tmp/evil' resolved to /tmp/evil on the fetcher's filesystem. The patch in PR #3444 replaces this with Go's os.Root (os.OpenRoot) confinement, explicitly rejects absolute paths, entries beginning with '..', and symlink entries before any file operation. The fetcher sidecar runs as UID 10001 and shares the /packages volume with builder containers, so traversal can reach any path that UID can write - including other tenants' /packages/<namespace>/ directories and mounted secret/configmap volumes.
RemediationAI
Upgrade Fission to vendor-released patch version 1.25.0 or later, which replaces the unsafe filepath.Join extraction with an os.Root-confined extractor that also rejects absolute paths, parent-traversal entries, and symlink entries up front (PR https://github.com/fission/fission/pull/3444). Follow guidance in the GHSA advisory https://github.com/fission/fission/security/advisories/GHSA-q6vm-xqc9-v3ff. If immediate upgrade is not possible, restrict who can create or update Package and Function/Deployment objects via Kubernetes RBAC so only trusted operators can supply Source.URL/Deployment.URL archives (trade-off: blocks tenant self-service workflows), and require packages be sourced from a vetted internal registry rather than arbitrary attacker-controlled URLs. Additionally, harden the fetcher sidecar with a readOnlyRootFilesystem securityContext and drop any unnecessary volume mounts of secrets/configmaps so that even if traversal occurs, writable targets are minimized (trade-off: may break builder flows that depend on the shared /packages volume - validate in staging first).
More in Kubernetes
View allA critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c
Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.exter
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne
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
Fluentd configuration injection in the kube-logging Logging operator before 6.6.0 allows a namespace-scoped user who can
Kyverno Kubernetes policy engine prior to 1.x has a privilege escalation vulnerability (CVSS 9.9) allowing policy bypass
Kamaji is the Hosted Control Plane Manager for Kubernetes. Rated critical severity (CVSS 9.9), this vulnerability is rem
Jumpserver is a popular open source bastion host, and Koko is a Jumpserver component that is the Go version of coco, ref
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-36071
GHSA-q6vm-xqc9-v3ff