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: 6.5 Medium
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

The CVSS score is 6.5, indicating a moderate severity. Because the EPSS score is 4e-05 and the vulnerability is not listed in the CISA KEV catalog, the likelihood of exploitation is extremely low, 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 4, 2026 at 15:56 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 4, 2026 at 15:56 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 04 Jun 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


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-04T12:34:53.136Z

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

Link: CVE-2026-27145

cve-icon Vulnrichment

Updated: 2026-06-04T12:34:49.559Z

cve-icon NVD

Status : Awaiting Analysis

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

Modified: 2026-06-04T16:15:50.143

Link: CVE-2026-27145

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-04T16:00:17Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption