Description
(*x509.Certificate).VerifyHostname previously called matchHostnames in a loop over all DNS Subject Alternative Name (SAN) entries. This caused strings.Split(host, ".") to execute repeatedly on the same input hostname. With a large DNS SAN list, verification costs scaled quadratically based on the number of SAN entries multiplied by the hostname's label count. Because x509.Verify validates hostnames before building the certificate chain, this overhead occurred even for untrusted certificates.
Published: 2026-06-02
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability lies in the crypto/x509 VerifyHostname function, which previously parsed the candidate hostname repeatedly for each DNS Subject Alternative Name (SAN) entry. This inefficiency resulted in a quadratic cost based on the number of SANs and the hostname's label count, allowing an attacker to force extremely high CPU consumption during certificate verification and thereby interrupt service availability. The attack does not compromise confidentiality or integrity; the primary threat is resource exhaustion that can lead to denial of service for applications that perform certificate validation even on untrusted certificates.

Affected Systems

The flaw affects the Go standard library component crypto/x509 in all Go releases that contain the unpatched VerifyHostname routine. Specific affected Go versions are not listed in the advisory, but the problem was identified in issue 79694 and addressed in subsequent Go releases; clients using the affected libraries should update to the latest Go distribution to avoid the issue.

Risk and Exploitability

Because the EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog, the exact likelihood of exploitation remains uncertain, yet the attack vector is straightforward: an adversary can present a certificate with an excessively large SAN list during TLS handshake or any other certificate validation routine, forcing the application to perform expensive hostname parsing and potentially cause a denial of service. The risk is primarily availability due to CPU exhaustion, with no known impact on confidentiality or integrity. The lack of a public exploit hint suggests that active exploitation may not yet be widespread, but the fundamental denial‑of‑service potential warrants timely mitigation.

Generated by OpenCVE AI on June 3, 2026 at 03:55 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade your Go runtime to a version that includes the patch for issue 79694 before performing certificate verification.
  • If upgrading immediately is not possible, implement a policy to reject certificates that contain an unusually large number of SAN entries, or monitor certificate validation calls for abnormal CPU usage and throttle or reject requests that trigger extended processing.
  • Consider introducing a timeout or circuit‑breaker around certificate verification logic to prevent exhaustive hostname parsing from consuming excessive resources during high‑load or malicious scenarios.

Generated by OpenCVE AI on June 3, 2026 at 03:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 03 Jun 2026 04:15:00 +0000

Type Values Removed Values Added
First Time appeared Go Standard Library
Go Standard Library crypto/x509
Weaknesses CWE-400
Vendors & Products Go Standard Library
Go Standard Library crypto/x509

Wed, 03 Jun 2026 02:30:00 +0000

Type Values Removed Values Added
Description (*x509.Certificate).VerifyHostname previously called matchHostnames in a loop over all DNS Subject Alternative Name (SAN) entries. This caused strings.Split(host, ".") to execute repeatedly on the same input hostname. With a large DNS SAN list, verification costs scaled quadratically based on the number of SAN entries multiplied by the hostname's label count. Because x509.Verify validates hostnames before building the certificate chain, this overhead occurred even for untrusted certificates.
Title Inefficient candidate hostname parsing in crypto/x509
References

Subscriptions

Go Standard Library Crypto/x509
cve-icon MITRE

Status: PUBLISHED

Assigner: Go

Published:

Updated: 2026-06-02T22:01:36.954Z

Reserved: 2026-02-17T19:57:28.435Z

Link: CVE-2026-27145

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-06-02T23:16:35.570

Modified: 2026-06-02T23:16:35.570

Link: CVE-2026-27145

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-03T04:00:13Z

Weaknesses