Skip to main content

cert-manager CVE-2026-62290

| EUVDEUVD-2026-45017 HIGH
Incorrect Authorization (CWE-863)
2026-07-16 GitHub_M
7.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as namespace tenant with Challenge create rights
  2. Delivery
    Craft Challenge.spec.solver referencing a ClusterIssuer
  3. Exploit
    Bypass DNS01 selectors (dnsZones/dnsNames/matchLabels)
  4. Execution
    cert-manager acts with ClusterIssuer DNS credentials
  5. Impact
    Disclose 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

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

cert-manager 1.20.0, < 1.20.3
cert-manager 1.18.0, < 1.19.6

Affected Packages

euvd cert_manager_1_18_0 fix: 1.19.6
euvd cert_manager_1_20_0 fix: 1.20.3

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

Vendor (GitHub_M) PRIMARY 7.3 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
vuln.today AI 8.5 HIGH

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.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Jul 16, 2026 - 22:19 EUVD
CVE Published
Jul 16, 2026 - 19:37 cve.org
HIGH 7.3

DescriptionCVE.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.

Executive ViewAI

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.1%
Top 100% exploitable
Prevalence
High
de facto standard TLS certificate controller across Kubernetes clusters
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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