Executive brief
Fission, a serverless framework for Kubernetes, contains a vulnerability where users with basic permissions can bypass security checks to run highly privileged code. By injecting malicious configurations into the environment settings, an attacker can escape the isolated container and gain full control over the underlying server infrastructure. This could lead to the theft of sensitive cluster credentials and a complete takeover of the entire Kubernetes environment.
Technical details
A critical vulnerability exists in Fission due to three compounding flaws in the handling of Environment Custom Resource Definitions (CRDs). First, the validation logic in `pkg/apis/core/v1/validation.go` failed to check for dangerous PodSpec fields such as `hostPID`, `hostIPC`, `hostNetwork`, and `privileged`. Second, the admission webhook only monitored 'create' operations, allowing attackers to bypass checks by patching existing environments. Finally, the `MergePodSpec` function unconditionally propagated these dangerous fields into generated deployments. An attacker with basic RBAC permissions to create or update environments can schedule a privileged pod with host-root mounts, enabling them to read the cluster CA private key and achieve full cluster takeover. The issue is fixed in version 1.24.0.
Affected products
- fission fission <= 1.23.0
Timeline
- 2026-05-26: disclosed
- 2026-06-10: advisory: NVD publication date
- 2026-06-30: patched: GitHub Advisory published/updated with fix details