CVE-2026-50568: Fission: SanitizeFilePath lexical HasPrefix bypass permits sibling-directory escape
SanitizeFilePath in pkg/utils/utils.go validated that a path stayed under a safe directory by calling strings.HasPrefix(path, safedir). This is a lexical check, not a directory boundary check: /packages-extra/evil starts with
/packages, so it passed. The function did not enforce a path-separator boundary, so any sibling directory whose name began with the safe-directory string was accepted.
Callers included the builder’s Clean handler (pkg/builder/builder.go:208) and the fetcher’s Fetch / Upload handlers (pkg/fetcher/fetcher.go). A tenant who could pre-create or control a sibling directory under the fetcher /
builder’s shared volume could induce a write or read outside the intended safe directory.
References
- github.com/advisories/GHSA-r5jh-q2mw-gcx4
- github.com/fission/fission/commit/5aac6f0bcdf840e28f3f06c846ca7ae1866b3957
- github.com/fission/fission/commit/8298e33ea7457702f893eae11077987cf905edb4
- github.com/fission/fission/pull/3445
- github.com/fission/fission/pull/3446
- github.com/fission/fission/releases/tag/v1.25.0
- github.com/fission/fission/security/advisories/GHSA-r5jh-q2mw-gcx4
- nvd.nist.gov/vuln/detail/CVE-2026-50568
Code Behaviors & Features
Detect and mitigate CVE-2026-50568 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →