Skip to main content

Kubewarden trusted-repos-policy CVE-2026-63121

MEDIUM
Improper Handling of Case Sensitivity (CWE-178)
2026-10-30 security-advisories@github.com
6.3
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain RBAC to submit cluster workloads
  2. Delivery
    Reference prohibited image with uppercase registry host
  3. Exploit
    Case-sensitive reject-list match fails to trigger
  4. Execution
    Admission policy admits the resource
  5. Impact
    Container 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Vendor (github) PRIMARY 6.3 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L
vuln.today AI 6.3 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low

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

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
niche CNCF Kubernetes admission-policy engine, limited production footprint
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2025-1974 CRITICAL POC
9.8 Mar 25

A critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access

CVE-2026-45321 CRITICAL POC
9.6 May 12

Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio

CVE-2025-1098 HIGH POC
8.8 Mar 25

Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress

CVE-2025-24514 HIGH POC
8.8 Mar 25

A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres

CVE-2025-1097 HIGH POC
8.8 Mar 25

A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c

CVE-2020-8554 MEDIUM POC
6.3 Jan 21

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.exter

CVE-2023-3676 HIGH POC
8.8 Oct 31

A security issue was discovered in Kubernetes where a user that can create pods on Windows nodes may be able to escalate

CVE-2025-55190 CRITICAL POC
9.9 Sep 04

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne

CVE-2026-34976 CRITICAL POC
10.0 Apr 02

Unauthenticated remote attackers can trigger complete database overwrites, server-side file reads, and SSRF attacks agai

CVE-2018-18843 CRITICAL POC
10.0 Dec 04

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

CVE-2026-54680 CRITICAL POC
9.9 Jul 29

Fluentd configuration injection in the kube-logging Logging operator before 6.6.0 allows a namespace-scoped user who can

CVE-2025-64709 CRITICAL POC
9.9 Nov 13

Authenticated Typebot users can abuse the webhook block (HTTP Request component) in versions prior to 3.13.1 to issue ar

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy