Kubewarden trusted-repos-policy CVE-2026-63121
MEDIUMAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain RBAC to submit cluster workloads
-
DeliveryReference prohibited image with uppercase registry host
-
ExploitCase-sensitive reject-list match fails to trigger
-
ExecutionAdmission policy admits the resource
-
ImpactContainer runtime pulls and runs banned image
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Case sensitivity handling
|
| Exploitation Conditions | Requires trusted-repos-policy before 2.1.2 deployed in a reject-list (deny) configuration; allow-list configurations are NOT affected because they fail closed by over-denying differently cased hostnames. The actor must be able to create or update admission-controlled workloads (pods, deployments, replicasets, statefulsets, daemonsets, jobs, cronjobs, etc.) and specify a container image whose registry portion uses uppercase or mixed-case characters so it misses the equivalently-named lowercase reject rule. Limiting factors: deny-list mode only, the need for workload-submission access to the API server, and an impact bounded by whatever the prohibited image does once the runtime pulls it; the vendor states impact depends on the configured rejection policy and environment. |
| Impact | This is a moderate-severity security-control bypass (input CVSS 6.3), not a directly exploitable code-execution flaw. The input vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L marks it network-reachable and unauthenticated (PR:N), but that overstates reach: triggering the bypass requires an actor able to submit or modify Kubernetes workloads (pods/deployments), which in practice needs RBAC - so treat PR:N as optimistic and 'unauthenticated' as not fully supported by the deployment reality. No EPSS score was provided and the issue is not in CISA KEV, so there is no exploitation-probability or active-exploitation signal; no public exploit identified at time of analysis (the three references are a fix commit, the GHSA advisory, and the 2.1.2 release tree - advisory/patch material, not PoC code). The vuln.today decision label is 'this_month', consistent with patching on a normal maintenance cycle rather than emergency action. The practical risk is bounded and conditional: only reject-list (deny) configurations are bypassable - allow-list configurations fail closed by over-denying - and the vendor explicitly states the confidentiality/integrity/availability impact varies with the configured rejection policy and environment. Net: a real but config-dependent policy-enforcement gap, not a high-urgency widespread-exploitation threat. |
| Exploit ScenarioDerived | In a cluster using trusted-repos-policy (before 2.1.2) configured with a reject list, an actor able to create a workload submits a pod whose image uses an uppercase or mixed-case registry host (for example EVIL-REGISTRY.COM/malware). The policy compares the host case-sensitively, fails to match the lowercase reject entry evil-registry.com, and admits the resource, after which the container runtime normalizes the hostname and pulls the prohibited image. No public exploit identified at time of analysis, but the technique is trivially reproducible from the advisory's own example. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Kubewarden's trusted-repos-policy before 2.1.2 is a moderate-severity admission-control bypass: an authenticated user with permission to create or update admission-controlled workloads can use an uppercase or mixed-case registry hostname to evade a lowercase reject-list entry, causing the policy to admit an image that the container runtime then pulls. Allow-list configurations are not affected because they fail closed by over-denying differently cased hostnames. No public exploit identified at time of analysis.
RemediationAI
Upgrade trusted-repos-policy to 2.1.2; this is the vendor-released patch. Deploy the fixed policy version in clusters running reject-list configurations. If upgrading immediately is not possible, switch to an allow-list configuration only if you can exhaustively enumerate every image that must be permitted (allow lists fail closed and may block legitimate workloads), deploy a mutating admission webhook that normalizes container image strings before policy evaluation (requires adding and trusting a new webhook), or add a CEL Kubewarden policy or Kubernetes ValidatingAdmissionPolicy that rejects any container image whose registry portion contains uppercase characters (may disrupt workloads that legitimately use uppercase registry names). Vendor advisory: https://github.com/kubewarden/policies/security/advisories/GHSA-8p62-9vh2-272p; fixed tree: https://github.com/kubewarden/policies/tree/trusted-repos-policy/v2.1.2; fix commit: https://github.com/kubewarden/policies/commit/bc5597fcbbb0bc464b714ca7ff645c9743dea41b.
Affected ProductsAI
Kubewarden trusted-repos-policy versions before 2.1.2 are affected; the GHSA package data specifically lists 2.1.1 as vulnerable and 2.1.2 as fixed, with earlier versions provisionally classified as affected. The issue applies to deployments using reject-list (deny) configurations; allow-list configurations are not affected. Advisory: https://github.com/kubewarden/policies/security/advisories/GHSA-8p62-9vh2-272p and fixed tree: https://github.com/kubewarden/policies/tree/trusted-repos-policy/v2.1.2.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The trusted-repos-policy is a Kubewarden WebAssembly admission policy for Kubernetes that inspects container image references and matches registry/repository values against allow or reject lists. Before 2.1.2 the policy parsed references with oci-spec's Reference and compared the registry hostname case-sensitively, even though registry DNS names are case-insensitive under RFC 4343; oci-spec preserves the case supplied by the caller. This is CWE-178 improper handling of case sensitivity. The bypass is limited to reject-list (deny) configurations: an image such as EVIL-REGISTRY.COM/malware does not match a reject rule for evil-registry.com, so the resource is admitted and the runtime pulls the same prohibited image; allow-list configurations deny the differently cased host and therefore fail closed. Exploitation requires the policy to be deployed in deny-list mode and an actor able to create or update admission-controlled workloads. The fix in commit bc5597fc normalizes the registry hostname to lowercase in ImageRef before matching.
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:N/UI:R/S:U/C:L/I:L/A:L
Exploiting requires API access to submit workloads (PR:L) and no victim interaction (UI:N); impact is low and environment-dependent per the vendor, so C/I/A each Low.
Primary rating from Vendor (github).
CVSS VectorVendor: github
DescriptionCVE.org
Kubewarden policies is a collection of WebAssembly policies for securing and governing Kubernetes clusters. For versions provisionally classified as affected before 2.1.2, trusted-repos-policy compares an image's registry hostname against reject lists and allow lists case-sensitively even though registry DNS names are case-insensitive. An image with an uppercase or mixed-case registry hostname can miss a rejection rule for the equivalent lowercase host, so the admission policy accepts a resource whose container runtime pulls the same prohibited image. Only reject-list configurations have this bypass: allow-list configurations fail closed by over-denying differently cased hostnames. The security consequences depend on the configured rejection policy and deployment environment. This issue is fixed in version 2.1.2.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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
NVD
CVE.org
EPSS
GitHub
Exploit-DB