{"id":"CVE-2026-50567","aliases":["GHSA-q6vm-xqc9-v3ff"],"title":" Fission: Zip Slip in pkg/utils/zip.go:Unarchive allows fetcher to write outside the destination directory","summary":" Fission: Zip Slip in pkg/utils/zip.go:Unarchive allows fetcher to write outside the destination directory","severity":"high","cvss":7.7,"cwe":["CWE-22"],"vendor":"fission","product":"github.com/fission/fission","ecosystem":"go","affected":["github.com/fission/fission <= 1.24.0"],"patched":["github.com/fission/fission 1.25.0"],"published":"2026-07-28","updated":"2026-07-28","source":"GHSA","sourceUrl":"https://github.com/advisories/GHSA-q6vm-xqc9-v3ff","references":[{"url":"https://github.com/fission/fission/security/advisories/GHSA-q6vm-xqc9-v3ff"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-50567"},{"url":"https://github.com/fission/fission/pull/3444"},{"url":"https://github.com/fission/fission/releases/tag/v1.25.0"},{"url":"https://github.com/advisories/GHSA-q6vm-xqc9-v3ff"}],"tags":["ghsa","go"],"epss":0.00447,"epssPercentile":0.36375,"ingestedAt":"2026-07-28T20:38:51.038Z","slug":"CVE-2026-50567","body":"## Overview\n\n`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\n  `../../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\n  files anywhere that process could reach: into other tenants' `/packages/<ns>/` directories, into mounted secret/config volumes, or into the fetcher's own binary.\n\n  ### Affected\n\n  - Project: `github.com/fission/fission`\n  - Versions: all up to and including v1.24.0\n  - Audited commit: `647c141`\n  - Component: `pkg/utils/zip.go` (`Unarchive`)\n  - Configuration: default; triggered when the fetcher downloads and extracts a zip archive\n\n  Fix section (paste into the Fix / Patches field)\n\n  Fixed in [v1.25.0](https://github.com/fission/fission/releases/tag/v1.25.0) by:\n\n  - [PR #3444](https://github.com/fission/fission/pull/3444) (commit [`55704aca`](https://github.com/fission/fission/commit/55704aca1b8d6f45bc7c7c2e4805c7e14875ec0f)) — `Unarchive` now opens an `os.Root` on the destination, validates each\n  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.\n\n  Regression coverage: `TestUnarchiveZipSlip` in `pkg/utils/zip_test.go` exercises parent-traversal, absolute-path, and symlink entries.\n\n## Affected packages\n\n- `github.com/fission/fission <= 1.24.0`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `github.com/fission/fission 1.25.0`","depth":"twilight","depthScore":42,"depthScoreParts":{"impact":42.4,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}