CVE-2026-50567High· 7.7▾ TwilightFission: Zip Slip in pkg/utils/zip.go:Unarchive allows fetcher to write outside the destination directory
▾ Twilight zone — High severity, or a signal on a lesser flaw
impact 42.4 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Jul 28.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via GHSA
0.3%
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.
github.com/fission/fission647c141pkg/utils/zip.go (Unarchive)Fix section (paste into the Fix / Patches field)
Fixed in v1.25.0 by:
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.
github.com/fission/fission <= 1.24.0Upgrade to a patched release:
github.com/fission/fission 1.25.0Connected by shared product, vendor, weakness, or advisory.
CVE-2026-50570High· 8.5Fission: Incomplete capability denylist in Environment/Function PodSpec validation allows tenant-added CAP_SYS_TIME and cross-tenant node wall-clock corruption
CVE-2026-50569Medium· 4.3Fission: HTTPTrigger admission omits RelativeURL / Prefix validation; kubectl apply bypasses CLI checks
CVE-2026-50568Low· 3.6Fission: SanitizeFilePath lexical HasPrefix bypass permits sibling-directory escape
CVE-2026-46612High· 8.8Fission StorageSvc /v1/archive endpoint exposes unauthenticated CRUD over all function archives
CVE-2026-46617HighFission runtime pods automount the fission-fetcher service-account token into the user function container, granting function code names…
GHSA-7m8x-qg2j-4m3vHigh· 8.1Fission: MessageQueueTrigger scaler manager materializes Secret values into Deployment envvars and accepts arbitrary user PodSpec