Kubewarden Policy Engine CVE-2026-42541
MEDIUMAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGrant AdmissionPolicy creation permission
-
DeliveryDeploy malicious policy with can_i call
-
ExploitPolicy-server executes SAR as elevated ServiceAccount
-
ExecutionEnumerate target subject permissions
-
PersistIdentify high-value targets (secrets, pods)
-
ImpactPlan lateral movement
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires two preconditions: (1) Cluster operator has explicitly granted a user or service account permission to create AdmissionPolicy or AdmissionPolicyGroup resources in one or more namespaces (this is non-default); (2) The cluster runs Kubewarden version earlier than 1.35.0. Additionally, if the PolicyServer ServiceAccount lacks broad Kubernetes RBAC permissions, the enumeration scope is limited to subjects and actions within the PolicyServer's own RBAC permissions-the vulnerability does not grant new RBAC permissions but exposes existing ones. The |
| Impact | The CVSS v3.1 score of 4.3 (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) reflects a low-severity information disclosure with network accessibility but requiring low privileges. EPSS data is not provided; however, the risk assessment aligns with the CVSS rating: this is a reconnaissance vulnerability with confidentiality impact only. The attack requires prior privilege grant (AdmissionPolicy/AdmissionPolicyGroup creation permissions), which is non-default, reducing the immediate threat surface. No CISA KEV status or public exploit code is indicated in the data. The real-world risk depends critically on deployment posture-organizations granting unprivileged users policy creation rights without the v1.35.0 mitigation (PolicyServer capability restrictions) face reconnaissance-level exposure. Unlike direct privilege escalation or data exfiltration vulnerabilities, this enables attackers to probe RBAC configurations to identify high-value service accounts (e.g., those with 'get secrets' or 'create pods' permissions), informing follow-up exploitation. The low CVSS score understates organizational risk if attacker reconnaissance directly leads to further lateral movement; however, the vulnerability itself does not grant unauthorized actions, only visibility into existing permissions. |
| Exploit ScenarioDerived | A cluster operator grants namespace developers permission to create AdmissionPolicies in their namespace to enforce custom validation rules. An attacker with that role crafts a malicious policy containing a |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 05, 2026
Kubewarden versions before 1.35.0 permit RBAC reconnaissance attacks when users with AdmissionPolicy or AdmissionPolicyGroup creation privileges craft policies using the unchecked can_i host capability. The vulnerability allows enumeration of any user or service account permissions across the cluster via SubjectAccessReview requests executed with policy-server privileges, despite the absence of context-aware resource grants. This information disclosure enables attackers to discover sensitive permission configurations without requiring cluster-wide policy creation rights, a capability not available by default but exploitable when granted.
RemediationAI
Vendor-released patch: Upgrade to Kubewarden v1.35.0 or later. Additionally, cluster operators must implement host capability restrictions on PolicyServers to enforce the new security model. For custom PolicyServers, add spec.namespacedPoliciesCapabilities: [] (empty list) to deny all host capabilities to namespaced policies, or specify a whitelist of permitted capabilities (e.g., ["oci/v1/verify", "net/v1/dns_lookup_host"]). For the default PolicyServer, set .Values.policyServer.namespacedPoliciesCapabilities: [] via Helm values. If namespaced policies legitimately require certain host capabilities, apply the new ns-policyserver-mapper policy or GitOps-based scheduling to route namespaced policies to PolicyServers with appropriate capability grants, keeping capability-restricted PolicyServers isolated from policies that need them. Alternatively, as a pre-patch workaround, cluster operators can remove SubjectAccessReview 'create' permissions from the PolicyServer ServiceAccount RBAC in both custom and default PolicyServers; this blocks SAR execution but does not address the authorization gap in the code. For deployments where policy creation cannot yet be restricted, the workaround reduces exposure from unbounded RBAC enumeration to only the specific subset of subjects the PolicyServer can query via its own RBAC. See patch references: https://github.com/kubewarden/kubewarden-controller/pull/1693 (code fix with capability enforcement logic) and https://github.com/kubewarden/docs/pull/737 (configuration guidance). Documentation: https://docs.kubewarden.io/howtos/policy-servers/namespaced-policies-capabilities
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in go
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Kubewarden is a Kubernetes policy engine that permits namespace-scoped AdmissionPolicy and AdmissionPolicyGroup resources to be deployed by unprivileged users. The engine enforces authorization checks on three host capability operations-list_resources_by_namespace, list_resources_all, and get_resource-through a can_access_kubernetes_resource() context-aware allow-list mechanism. However, the can_i host capability for SubjectAccessReview queries bypasses this authorization gate, directly forwarding requests to the policy-server callback handler which executes as the PolicyServer ServiceAccount. This allows a malicious namespaced policy to invoke Kubernetes SubjectAccessReview (SAR) operations with the policy-server's RBAC privileges, querying permissions for arbitrary subjects. The root cause is CWE-862 (Missing Authorization), where the can_i operation lacks the same context-aware enforcement applied to resource access operations. The affected component is the kubewarden-controller, distributed as pkg:go/github.com/kubewarden/kubewarden-controller.
Know when Kubernetes gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Primary rating from Vendor (https://github.com/kubewarden/kubewarden-controller).
CVSS VectorVendor: https://github.com/kubewarden/kubewarden-controller
DescriptionCVE.org
Impact
Kubewarden is a policy engine for Kubernetes. Kubewarden cluster operators can grant permissions to users to deploy namespaced AdmissionPolicies and AdmissionPolicyGroups in their Namespaces. One of Kubewarden promises is that configured users can deploy namespaced policies in a safe manner, without privilege escalation.
An attacker with privileged AdmissionPolicy or AdmissionPolicyGroup create permissions (which isn't the default) can craft a policy that makes use of the can_i host callback. The callback issues a SubjectAccessReview (SAR) requests to enumerate RBAC permissions of any user or service account across the cluster. Three operations on the host capabilities kubewarden/kubernetes binding enforce the context-aware allow-list via can_access_kubernetes_resource():
list_resources_by_namespacelist_resources_allget_resource
However, can_i does not perform that check and forwards the request directly to the callback handler, which executes a real SubjectAccessReview using policy-server privileges. This creates a policy-level authorization gap: can_i is effectively usable even when the policy has no context-aware resource grant.
This is an information disclosure / reconnaissance issue, and not direct workload data exfiltration. The attacker learns permission information, such as whether specific service accounts can "get secrets", "create pods", or "bind clusterroles" in chosen namespaces.
Patches
Cluster Operators, if providing their users with privileges to deploy AdmissionPolicies or AdmissionPolicygroups (which isn't the default), must then also deploy PolicyServers with reduced permissions for host capability calls. This includes the PolicyServer default. For that, make use of the new feature in v1.35:
- For custom PolicyServers: Set the new
PolicyServer.spec.namespacedPoliciesCapabilities, for example to an empty list[]which doesn't allow any capability. - For the
defaultPolicyServer, set the.Values.policyServer.namespacedPoliciesCapabilities, for example to an empty list[]which doesn't allow any capability.
Also, if needed, they must ensure that those namespaced AdmissionPolicies or AdmissionPolicygroups are scheduled in the PolicyServers with reduced permissions. For that, they could make use of the new ns-policyserver-mapper policy, their own policy or other means, such as GitOps.
See: https://docs.kubewarden.io/howtos/policy-servers/namespaced-policies-capabilities
Workarounds
Cluster Operators can opt for:
- Not allowing users to create namespaced policies (AdmissionPolicies, AdmissionPolicyGroups).
- Removing SubjectAccessReview "create" permissions for the PolicyServer ServiceAccount RBAC being used, in custom PolicyServers and the PolicyServer
default.
Resources
- Code changes, with new security feature: https://github.com/kubewarden/kubewarden-controller/pull/1693
- Documentation changes: https://github.com/kubewarden/docs/pull/737
- Explained new feature on 1.35.0
- Updated Threat model assessment
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)CVE.org
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
A security issue was discovered in Kubernetes where a user that can create pods on Windows nodes may be able to escalate
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne
Unauthenticated remote attackers can trigger complete database overwrites, server-side file reads, and SSRF attacks agai
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
Authenticated Typebot users can abuse the webhook block (HTTP Request component) in versions prior to 3.13.1 to issue ar
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
GHSA-wqcw-g35j-j578
NVD
CVE.org
EPSS
Exploit-DB