CVE-2026-50568 Overview
CVE-2026-50568 is a path traversal vulnerability in Fission, an open-source Kubernetes-native serverless framework. The flaw exists in the SanitizeFilePath function in pkg/utils/utils.go in versions prior to 1.25.0. The function used strings.HasPrefix(path, safedir) to validate path containment, which performs a lexical string comparison rather than a directory boundary check. A tenant with control over a sibling directory whose name begins with the safe-directory prefix can induce reads or writes outside the intended directory. The issue is tracked under [CWE-41] and was patched in Fission version 1.25.0.
Critical Impact
Authenticated local tenants sharing the fetcher or builder volume can read or write files outside the intended safe directory by pre-creating sibling directories with matching name prefixes.
Affected Products
- Fission versions prior to 1.25.0
- Fission builder component (pkg/builder/builder.go)
- Fission fetcher component (pkg/fetcher/fetcher.go)
Discovery Timeline
- 2026-06-10 - CVE-2026-50568 published to NVD
- 2026-06-10 - Last updated in NVD database
Technical Details for CVE-2026-50568
Vulnerability Analysis
The vulnerability stems from incorrect path containment validation in Fission's SanitizeFilePath utility. The function was intended to ensure that user-supplied paths remained inside a designated safe directory. Instead, it relied on strings.HasPrefix(path, safedir), which only compares characters lexically. A path such as /packages-extra/evil satisfies HasPrefix against /packages, even though /packages-extra is a sibling directory rather than a child of /packages. The check failed to enforce a path-separator boundary between the safe directory and the remainder of the path.
Root Cause
The root cause is a missing directory boundary enforcement in the prefix check. A correct implementation must verify that the resolved absolute path equals the safe directory or is followed immediately by a path separator. Without that constraint, any sibling directory whose name begins with the safe-directory string is treated as inside the safe directory, breaking the intended sandbox.
Attack Vector
Exploitation requires local access with low privileges, such as a tenant workload running in the same Kubernetes namespace that shares the fetcher or builder volume. The affected call sites include the builder's Clean handler at pkg/builder/builder.go:208 and the fetcher's Fetch and Upload handlers in pkg/fetcher/fetcher.go. An attacker who can pre-create or control a sibling directory under the shared volume can supply crafted paths to these handlers. The result is a read or write operation outside the intended safe directory, potentially affecting other tenants' artifacts or function packages.
No public proof-of-concept code is referenced in the advisory. See the GitHub Security Advisory GHSA-r5jh-q2mw-gcx4 and Pull Request #3445 for the patch details.
Detection Methods for CVE-2026-50568
Indicators of Compromise
- Unexpected files appearing in sibling directories adjacent to Fission's packages, fetcher, or builder staging paths on shared volumes.
- Fetcher or builder log entries referencing paths outside the configured safe directory but sharing its name prefix.
- Unauthorized modifications to function package archives between deployment and execution.
Detection Strategies
- Audit Fission builder and fetcher logs for path arguments that contain the safe-directory string followed by characters other than /.
- Inventory running Fission deployments and compare reported versions against 1.25.0 to identify vulnerable installations.
- Review Kubernetes audit logs for tenant pods that mount Fission shared volumes and perform file operations on unexpected sibling paths.
Monitoring Recommendations
- Enable filesystem auditing (auditd or eBPF-based file monitoring) on nodes hosting the Fission fetcher and builder pods.
- Track changes to the shared volume backing the fetcher and builder, alerting on directory creation events whose names begin with reserved prefixes.
- Correlate function deployment events with file write activity in the fetcher volume to surface unexpected write locations.
How to Mitigate CVE-2026-50568
Immediate Actions Required
- Upgrade Fission to version 1.25.0 or later, which replaces the lexical prefix check with proper directory boundary validation.
- Restrict tenant ability to pre-create directories on volumes shared with the Fission fetcher and builder until the upgrade is complete.
- Review existing fetcher and builder volume contents for unauthorized sibling directories matching safe-directory prefixes.
Patch Information
The fix is included in Fission Release v1.25.0. The corrective changes are tracked in Pull Request #3445 and Pull Request #3446. Full advisory details are available in GHSA-r5jh-q2mw-gcx4.
Workarounds
- Isolate Fission fetcher and builder workloads onto dedicated nodes or volumes that are not shared with untrusted tenants.
- Apply Kubernetes PodSecurity policies to prevent untrusted workloads from mounting the same volumes used by Fission components.
- Use read-only mounts where possible and enforce strict filesystem permissions on the parent directory of the safe directory to block sibling directory creation.
# Upgrade Fission via Helm to the patched release
helm repo update
helm upgrade --install fission fission-charts/fission-all \
--namespace fission \
--version 1.25.0
# Verify the deployed version
kubectl -n fission get deployment -o jsonpath='{.items[*].spec.template.spec.containers[*].image}'
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

