Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as namespace tenant with Challenge create rights
-
DeliveryCraft Challenge.spec.solver referencing a ClusterIssuer
-
ExploitBypass DNS01 selectors (dnsZones/dnsNames/matchLabels)
-
Executioncert-manager acts with ClusterIssuer DNS credentials
-
ImpactDisclose acme-dns X-Api-User/X-Api-Key and control attacker DNS names
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
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 an authenticated Kubernetes principal (PR:L) that already holds the 'create' verb on acme.cert-manager.io Challenge (and/or Order) resources in a namespace - the permission granted by cert-manager's default pre-fix Helm RBAC. The cluster must define at least one ClusterIssuer using a DNS01 solver whose credentials are worth stealing (e.g. acme-dns with X-Api-User/X-Api-Key). The core enabling condition is the absence of admission validation binding a user-created Challenge to an Order, owner reference, or Issuer-selected solver, which lets attacker-controlled Challenge.spec.solver values reference a ClusterIssuer and bypass dnsZones/dnsNames/matchLabels selectors. Limiting factors: single-tenant clusters, clusters using only namespaced Issuers, or clusters that already restrict Challenge/Order create rights are not exploitable; no code execution is gained (impact is credential/scope confidentiality), and the attacker must possess valid cluster credentials - this is not remotely reachable by an anonymous outsider. |
| Impact | The vendor CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N, base 7.3) reflects a low-complexity attack by an already-authenticated, low-privileged namespace tenant with a scope change (the vulnerable namespaced component reaches cluster-scoped ClusterIssuer credentials) and high confidentiality impact. This is a genuine multi-tenant isolation break rather than an inflated high-CVSS finding: the impact - theft of shared DNS provider credentials - is concrete and enables downstream DNS control. However, real-world risk is bounded by prerequisites: the cluster must be multi-tenant, must use a ClusterIssuer with a DNS01 solver holding valuable credentials, and the attacker must already possess namespace create rights on ACME resources. No EPSS score, KEV entry, or POC was provided, so exploitation appears theoretical/targeted rather than widespread; absence of these signals is consistent with a config-and-tenancy-dependent flaw. One note of caution: the vendor uses AV:L, but the Kubernetes API server is network-reachable, so an argument for AV:N (network-facing API) exists - this is a defensible modeling difference, not a contradiction with the description. |
| Exploit ScenarioDerived | A tenant confined to their own namespace but granted the default cert-manager RBAC crafts a Challenge resource whose spec.solver references a cluster-wide DNS01 ClusterIssuer and specifies attacker-chosen DNS names and provider settings. cert-manager processes the forged Challenge using the ClusterIssuer's DNS credentials, and the tenant observes the resulting solver behavior and leaked provider headers (such as acme-dns X-Api-User and X-Api-Key), obtaining credentials that belong to the cluster rather than their namespace. No public exploit code was identified, but the attack requires only routine Kubernetes API calls with existing tenant permissions. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 16, 2026
Improper authorization in cert-manager 1.18.0 through 1.19.5 and 1.20.0-1.20.2 lets a namespaced tenant with standard Challenge/Order create rights forge ACME Challenge resources that reference a ClusterIssuer, bypassing DNS01 solver selectors (dnsZones, dnsNames, matchLabels) so the controller uses cluster-wide DNS credentials for attacker-chosen provider settings and names. The primary consequence is disclosure of shared ClusterIssuer DNS credentials - notably acme-dns X-Api-User and X-Api-Key headers - enabling cross-tenant credential theft in multi-tenant clusters. There is no public exploit identified at time of analysis, and it is not listed in CISA KEV.
RemediationAI
Vendor-released patch: upgrade to cert-manager 1.19.6 (https://github.com/cert-manager/cert-manager/releases/tag/v1.19.6) or 1.20.3 (https://github.com/cert-manager/cert-manager/releases/tag/v1.20.3), per advisory GHSA-8rvj-mm4h-c258. The fix ships in the Helm chart RBAC (PR 8940/8941) by removing the 'create' verb from user-facing roles for challenges and 'create/patch/update' for orders, so upgrading and re-applying the chart is the primary action. If you cannot upgrade immediately, apply the equivalent compensating control manually: edit your cert-manager RBAC (ClusterRoles/Roles bound to tenants) to drop 'create' on acme.cert-manager.io challenges and 'create/patch/update' on orders, retaining delete/patch/update on challenges only so tenants can still remove stuck finalizers - the trade-off is that any automation that legitimately creates Challenge/Order objects directly (uncommon, as the controller normally owns these) will break. Additionally, prefer namespaced Issuers over ClusterIssuers for tenant workloads, and scope/rotate the DNS provider credentials (including acme-dns X-Api-User/X-Api-Key) if you suspect prior exposure.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
cert-manager is a Kubernetes controller that manages TLS certificate issuance via CRDs (Certificate, Issuer/ClusterIssuer, Order, Challenge) under groups cert-manager.io and acme.cert-manager.io. Normally a Challenge is created only by the cert-manager controller as a child of an Order, carrying an owner reference and a solver configuration selected by the Issuer/ClusterIssuer based on selector rules (dnsZones, dnsNames, matchLabels). The root cause is CWE-863 (Improper Authorization): the default RBAC shipped in the Helm chart granted end users the 'create' verb on challenges and orders, and there was no admission validation binding a user-created Challenge to a legitimate Order, owner reference, or Issuer-selected solver. This allowed a user to hand-craft Challenge.spec.solver, point it at a ClusterIssuer, and have the controller act with that ClusterIssuer's DNS provider credentials against arbitrary DNS names, defeating the selector-based scoping intended to isolate tenants. The upstream fix (PRs 8940/8941, commits 6bda472 and b37dbf0) removes the 'create' verb for challenges and 'create/patch/update' for orders from the user-facing RBAC role, while retaining patch/update/delete on challenges so users can still clear stuck finalizers.
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:L/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
Authenticated tenant (PR:L) reaches the network-facing Kubernetes API (AV:N/AC:L) and crosses tenancy scope (S:C) to disclose cluster DNS credentials (C:H), with limited integrity and no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
cert-manager adds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates. From 1.18.0 until 1.19.6 and 1.20.3, Challenge resources under acme.cert-manager.io can be created directly by namespace users without admission validation tying the Challenge to an Order, owner reference, or Issuer-selected solver, allowing attacker-controlled Challenge.spec.solver values referencing a ClusterIssuer to bypass DNS01 solver selectors such as dnsZones, dnsNames, and matchLabels and cause cert-manager to use ClusterIssuer DNS credentials for attacker-selected provider settings and DNS names, including disclosure of X-Api-User and X-Api-Key headers for acme-dns. This issue is fixed in versions 1.19.6 and 1.20.3.
Articles & Coverage 1
Executive ViewAI
cert-manager versions 1.18.0 through 1.20.2 contain an authorization bypass enabling namespace-scoped tenants to steal cluster-wide DNS provider credentials (API keys, ACME authentication tokens) in multi-tenant Kubernetes environments; no public exploit has been identified at this time. Attackers with standard resource-creation rights can access shared credentials without elevated privileges, compromising TLS certificate issuance and DNS control across all workloads. Organizations operating multi-tenant clusters face credential exposure and potential loss of certificate authority integrity.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Implement strict RBAC to revoke Challenge/Order creation rights from non-administrative namespaced tenants; (2) Enable audit logging and monitoring for suspicious Challenge/ClusterIssuer resource creation; (3) Implement network policies restricting cert-manager pod access to authorized services only; (4) Rotate DNS provider credentials and review historical access logs for evidence of exploitation; (5) Restrict cert-manager deployments to critical workloads only until vendor releases patch.
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.
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
EUVD-2026-45017
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB