
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-59818 is a Certificate Revocation List (CRL) enforcement bypass vulnerability in etcd, a distributed key-value store widely used in Kubernetes and other distributed systems. When etcd is configured with --listen-client-http-urls to split HTTP and gRPC client endpoints onto separate listeners, the --client-crl-file CRL is not enforced on the gRPC listener, allowing a client with a revoked certificate to authenticate successfully over gRPC. The vulnerability affects all etcd versions prior to 3.5.32 and versions 3.6.0 through 3.6.12. It was published on July 8, 2026, with patches released on July 1, 2026. The CVSS v3.1 base score is 8.1 (High) per NVD/Feedly, while the GitHub Security Advisory assigns a score of 6.5 (Moderate) (GitHub Advisory, Red Hat CVE).
The root cause is improper certificate validation (CWE-295): when etcd operates in a split-listener configuration (--listen-client-http-urls separates HTTP and gRPC onto distinct ports), the gRPC server owns the TLS handshake directly (onlyGRPC=true in serve.go) rather than delegating to the wrapping TLS listener that enforces CRL checks. As a result, the --client-crl-file revocation check is applied to the HTTP endpoint but is never injected into the gRPC TLS configuration, allowing a client presenting a revoked certificate to complete the gRPC TLS handshake successfully. The fix, implemented in client/pkg/transport/listener_tls.go, adds a ConfigureCRLVerification function that appends a VerifyPeerCertificate hook to the TLS config before the gRPC server is created, ensuring CRL checks are enforced in both listener modes (GitHub Commit, GitHub Advisory). The vulnerability was discovered and reported by Luis Toro (@lobuhi on GitHub).
Successful exploitation allows an attacker holding a revoked client certificate to authenticate to the etcd gRPC endpoint as if the certificate were still valid, gaining the same access and permissions originally granted to that certificate. This can result in high confidentiality and integrity impact — the attacker can read and modify all key-value data stored in etcd, which in Kubernetes environments may include secrets, configuration data, and cluster state. Availability is not directly impacted by this vulnerability, but unauthorized write access could enable destructive changes or lateral movement within the cluster (GitHub Advisory, Red Hat CVE).
No public proof-of-concept exploit code is known to exist, and there is no evidence of in-the-wild exploitation at this time (Red Hat CVE). The EPSS score is approximately 0.364%, indicating a low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires the attacker to already possess a previously valid (now revoked) client certificate and network access to the etcd gRPC listener, and the vulnerable configuration (--listen-client-http-urls) must be explicitly enabled — limiting the attack surface to deployments using split HTTP/gRPC listeners (GitHub Advisory).
--listen-client-http-urls to split HTTP and gRPC onto separate listeners, and that --client-crl-file and --client-cert-auth are enabled — this is the only configuration affected by the bypass.--client-crl-file.etcdctl or a custom gRPC client), connect directly to the gRPC listener port (the port specified in --listen-client-urls, not --listen-client-http-urls) using the revoked certificate. The gRPC TLS handshake will succeed because CRL checking is not enforced on this listener.etcdctl get / or etcdctl put key value) using the revoked certificate session to access or modify distributed system data with the permissions originally granted to the revoked certificate (GitHub Advisory, GitHub Commit).--listen-client-http-urls and --client-crl-file flags set simultaneously on versions prior to 3.5.32 or 3.6.13 — this combination indicates the vulnerable configuration is active./registry/secrets/) from client identities associated with revoked certificates.Upgrade etcd to version 3.5.32 (for the 3.5.x branch) or 3.6.13 (for the 3.6.x branch), which enforce CRL checking on the gRPC listener via the new ConfigureCRLVerification hook (GitHub Advisory, GitHub PR 3.5, GitHub PR 3.6). If immediate upgrade is not possible, two workarounds can reduce risk: (1) avoid using the --listen-client-http-urls configuration option so that HTTP and gRPC share a single listener where CRL enforcement is applied correctly; or (2) implement firewall rules or Kubernetes network policies to restrict access to etcd client ports to only trusted, known-good components, limiting the pool of clients that could exploit a revoked certificate (GitHub Advisory).
The vulnerability was reported by security researcher Luis Toro (@lobuhi) and addressed promptly by the etcd maintainer Benjamin Wang (ahrtr), who merged the fix on July 1, 2026, and immediately cherry-picked it to the 3.5 and 3.6 release branches to unblock patch releases (GitHub PR). Red Hat tracked the issue via Bugzilla (bug #2498305) and published a CVE advisory, and Microsoft also acknowledged the vulnerability in their MSRC update guide (Red Hat CVE). The NixOS security tracker opened a tracking issue for the vulnerability in the nixpkgs repository, indicating broad ecosystem awareness.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."