GitHub Advisoryadvisory · Go

GHSA-q6vm-xqc9-v3ff Fission: Zip Slip in pkg/utils/zip.go:Unarchive allows fetcher to write outside the destination directory

HIGH Published 2026-07-28 Modified 2026-07-28 Official page ↗
Aliases
CVE-2026-50567
Ecosystem
Go
Packages
github.com/fission/fission
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N
Weaknesses
CWE-22
Reviewed
2026-07-28

Affected packages

• Go github.com/fission/fission: < 1.25.0 → fixed in 1.25.0

Description

`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//` directories, into mounted secret/config volumes, or into the fetcher's own binary. ### Affected • Project: `github.com/fission/fission` • Versions: all up to and including v1.24.0 • Audited commit: `647c141` • Component: `pkg/utils/zip.go` (`Unarchive`) • Configuration: default; triggered when the fetcher downloads and extracts a zip archive Fix section (paste into the Fix / Patches field) Fixed in v1.25.0 by: • PR #3444 (commit `55704aca`) — `Unarchive` now opens an `os.Root` on the destination, validates each archive entry name (rejects absolute paths and `..` traversal), and refuses symlink entries up front. The `os.Root` confines every `mkdir` / `create` to the destination in the kernel. Regression coverage: `TestUnarchiveZipSlip` in `pkg/utils/zip_test.go` exercises parent-traversal, absolute-path, and symlink entries.

Related

Alias · CVE (1)

  • CVE-2026-50567 Fission is an open-source, Kubernetes-native serverless framework that simplifies the deployment of functions and applications on… vulnerability

Weakness · CWE (1)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness

References