Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L
Lifecycle Timeline
4DescriptionNVD
Fission is an open-source, Kubernetes-native serverless framework that simplifies the deployment of functions and applications on Kubernetes. Prior to version 1.25.0, Fission added PodSpec safety validation for tenant-facing Environment and Function CRDs (ValidatePodSpecSafety / ValidateContainerSafety admission webhook + sanitizeContainerSecurityContext executor merge layer), but the capability check was implemented as a fixed denylist of six Linux capabilities (SYS_ADMIN, NET_ADMIN, SYS_PTRACE, SYS_MODULE, DAC_READ_SEARCH, DAC_OVERRIDE). The denylist omitted CAP_SYS_TIME, among others. As a result, a tenant who could create a Function or Environment CRD could request securityContext.capabilities.add: ["SYS_TIME"], pass Fission's admission validation and merge-layer sanitization, and run attacker-controlled code with CAP_SYS_TIME in the resulting function or runtime container. This issue has been patched in version 1.25.0.
Articles & Coverage 1
AnalysisAI
Privilege escalation in Fission (Kubernetes-native serverless framework) prior to version 1.25.0 allows a tenant with permission to create Function or Environment CRDs to obtain CAP_SYS_TIME inside function/runtime containers by bypassing an incomplete capability denylist in the ValidatePodSpecSafety admission webhook. The denylist only blocked six Linux capabilities (SYS_ADMIN, NET_ADMIN, SYS_PTRACE, SYS_MODULE, DAC_READ_SEARCH, DAC_OVERRIDE) and omitted CAP_SYS_TIME and others, letting tenant-controlled code modify the container's system clock. No public exploit identified at time of analysis, but the upstream patch and CRD diff are publicly visible in fission/fission PR #3465.
Technical ContextAI
Fission is a serverless framework that runs tenant Functions and Environments as Kubernetes pods. The vulnerable code path is the admission control layer in pkg/apis/core/v1/podspec_safety.go (ValidatePodSpecSafety / ValidateContainerSafety) together with the executor-side sanitizeContainerSecurityContext merge layer, both of which gated securityContext.capabilities.add against a hard-coded denylist rather than an allowlist. This is a textbook CWE-269 (Improper Privilege Management) failure: a denylist of dangerous Linux capabilities will always be incomplete because the Linux capability set is large (40+ capabilities) and any omission becomes a direct privilege-add primitive. CAP_SYS_TIME specifically grants the ability to set the system clock and real-time clock via settimeofday/clock_settime, which on shared kernels affects time observed by other workloads on the node.
RemediationAI
Vendor-released patch: upgrade Fission to version 1.25.0 or later, which replaces the capability denylist with a strict allowlist limited to NET_BIND_SERVICE and adds CEL x-kubernetes-validations on the Function and Environment CRDs to enforce hostNetwork/hostPID/hostIPC=false, no serviceAccount override, no privileged or allowPrivilegeEscalation containers, and capability-add restricted to NET_BIND_SERVICE at the API-server admission stage (see https://github.com/fission/fission/pull/3465 and https://github.com/fission/fission/releases/tag/v1.25.0). If upgrading immediately is not possible, compensating controls include: restricting RBAC so only trusted operators can create or update fission.io Function and Environment CRDs (trade-off: breaks self-service tenant workflows); deploying a cluster-wide policy engine such as Kyverno or OPA Gatekeeper to reject Pods or Fission CRDs whose container securityContext.capabilities.add contains anything other than NET_BIND_SERVICE (trade-off: requires policy engine deployment and careful rule scoping); and enforcing the Pod Security Admission 'restricted' profile on the namespaces where Fission runtime/builder pods land, which natively forbids all added capabilities except NET_BIND_SERVICE (trade-off: may block other legitimate Fission features that rely on extra permissions).
More in Kubernetes
View allA critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c
Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.exter
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne
The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4
Fluentd configuration injection in the kube-logging Logging operator before 6.6.0 allows a namespace-scoped user who can
Kyverno Kubernetes policy engine prior to 1.x has a privilege escalation vulnerability (CVSS 9.9) allowing policy bypass
Kamaji is the Hosted Control Plane Manager for Kubernetes. Rated critical severity (CVSS 9.9), this vulnerability is rem
Jumpserver is a popular open source bastion host, and Koko is a Jumpserver component that is the Go version of coco, ref
Same weakness CWE-269 – Improper Privilege Management
View allSame technique Privilege Escalation
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-36074
GHSA-qf5v-m7p4-95rp