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 flaw is in the Go standard library crypto/x509 VerifyHostname routine, where the candidate hostname is parsed with strings.Split repeatedly for each DNS Subject Alternative Name entry. A large SAN list causes the verification cost to grow roughly with the square of the SAN count and hostname label count, leading to extreme CPU consumption. The impact is a denial of service through resource exhaustion, with no effect on confidentiality or integrity. Based on the description, it is inferred that an attacker can trigger this behavior by supplying a certificate containing an unusually large number of SAN entries during TLS handshake or any certificate validation routine.

Affected Systems

This vulnerability affects all Go releases that contain the unpatched VerifyHostname implementation in the standard library component crypto/x509. The advisory does not list specific version numbers, but the issue was tracked in Go issue 79694 and was addressed in later Go releases; therefore all older Go distributions before the fix are impacted and should be updated.

Risk and Exploitability

The CVSS score of 6.5 indicates moderate severity. The EPSS score is less than 1% and the vulnerability is not listed in the CISA KEV catalog, suggesting a low likelihood of active exploitation. Nonetheless, the attack vector is straightforward—an attacker can present a certificate with a very large SAN list to a vulnerable application, forcing expensive hostname parsing and consuming excessive CPU, potentially leading to application or system unavailability. The risk is primarily availability; no known impact on confidentiality or integrity exists.

Generated by OpenCVE AI on August 13, 2026 at 22:57 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade your Go installation to a version that includes the patch for issue 79694 before performing certificate verification.
  • If immediate upgrade is not possible, configure your application or infrastructure to reject certificates that contain an unusually large number of SAN entries, or throttle certificate validation processing to prevent CPU exhaustion.
  • Implement a timeout or circuit breaker around TLS or certificate verification logic so that overly expensive hostname parsing does not consume resources beyond a safe threshold.

Generated by OpenCVE AI on August 13, 2026 at 22:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
Link Providers
https://access.redhat.com/errata/RHSA-2026:23262 cve-icon
https://access.redhat.com/errata/RHSA-2026:23264 cve-icon
https://access.redhat.com/errata/RHSA-2026:29980 cve-icon
https://access.redhat.com/errata/RHSA-2026:29981 cve-icon
https://access.redhat.com/errata/RHSA-2026:33574 cve-icon
https://access.redhat.com/errata/RHSA-2026:34357 cve-icon
https://access.redhat.com/errata/RHSA-2026:34359 cve-icon
https://access.redhat.com/errata/RHSA-2026:35832 cve-icon
https://access.redhat.com/errata/RHSA-2026:36317 cve-icon
https://access.redhat.com/errata/RHSA-2026:36648 cve-icon
https://access.redhat.com/errata/RHSA-2026:36797 cve-icon
https://access.redhat.com/errata/RHSA-2026:38995 cve-icon
https://access.redhat.com/errata/RHSA-2026:39005 cve-icon
https://access.redhat.com/errata/RHSA-2026:39573 cve-icon
https://access.redhat.com/errata/RHSA-2026:39879 cve-icon
https://access.redhat.com/errata/RHSA-2026:41030 cve-icon
https://access.redhat.com/errata/RHSA-2026:41036 cve-icon
https://access.redhat.com/errata/RHSA-2026:41930 cve-icon
https://access.redhat.com/errata/RHSA-2026:42043 cve-icon
https://access.redhat.com/errata/RHSA-2026:42047 cve-icon
https://access.redhat.com/errata/RHSA-2026:42049 cve-icon
https://access.redhat.com/errata/RHSA-2026:42050 cve-icon
https://access.redhat.com/errata/RHSA-2026:42051 cve-icon
https://access.redhat.com/errata/RHSA-2026:42079 cve-icon
https://access.redhat.com/errata/RHSA-2026:42080 cve-icon
https://access.redhat.com/errata/RHSA-2026:42082 cve-icon
https://access.redhat.com/errata/RHSA-2026:42142 cve-icon
https://access.redhat.com/errata/RHSA-2026:42150 cve-icon
https://access.redhat.com/errata/RHSA-2026:42151 cve-icon
https://access.redhat.com/errata/RHSA-2026:42240 cve-icon
https://access.redhat.com/errata/RHSA-2026:42644 cve-icon
https://access.redhat.com/errata/RHSA-2026:42946 cve-icon
https://access.redhat.com/errata/RHSA-2026:44622 cve-icon
https://access.redhat.com/errata/RHSA-2026:46394 cve-icon
https://access.redhat.com/errata/RHSA-2026:46395 cve-icon
https://access.redhat.com/errata/RHSA-2026:47149 cve-icon
https://access.redhat.com/errata/RHSA-2026:47735 cve-icon
https://access.redhat.com/errata/RHSA-2026:47737 cve-icon
https://access.redhat.com/errata/RHSA-2026:49703 cve-icon
https://access.redhat.com/errata/RHSA-2026:49705 cve-icon
https://access.redhat.com/errata/RHSA-2026:49729 cve-icon
https://access.redhat.com/errata/RHSA-2026:49744 cve-icon
https://access.redhat.com/errata/RHSA-2026:49765 cve-icon
https://access.redhat.com/errata/RHSA-2026:49770 cve-icon
https://access.redhat.com/errata/RHSA-2026:50205 cve-icon
https://access.redhat.com/errata/RHSA-2026:50319 cve-icon
https://access.redhat.com/errata/RHSA-2026:51057 cve-icon
https://access.redhat.com/errata/RHSA-2026:51187 cve-icon
https://access.redhat.com/errata/RHSA-2026:52946 cve-icon
https://access.redhat.com/errata/RHSA-2026:53374 cve-icon
https://access.redhat.com/errata/RHSA-2026:53412 cve-icon
https://access.redhat.com/errata/RHSA-2026:53413 cve-icon
https://access.redhat.com/errata/RHSA-2026:53415 cve-icon
https://access.redhat.com/errata/RHSA-2026:53416 cve-icon
https://access.redhat.com/errata/RHSA-2026:53530 cve-icon
https://access.redhat.com/errata/RHSA-2026:54168 cve-icon
https://access.redhat.com/errata/RHSA-2026:54401 cve-icon
https://access.redhat.com/errata/RHSA-2026:54427 cve-icon
https://access.redhat.com/errata/RHSA-2026:54432 cve-icon
https://access.redhat.com/errata/RHSA-2026:54435 cve-icon
https://access.redhat.com/errata/RHSA-2026:54441 cve-icon
https://access.redhat.com/errata/RHSA-2026:54500 cve-icon
https://access.redhat.com/errata/RHSA-2026:54525 cve-icon
https://access.redhat.com/errata/RHSA-2026:54531 cve-icon
https://access.redhat.com/errata/RHSA-2026:54603 cve-icon
https://access.redhat.com/errata/RHSA-2026:54757 cve-icon
https://access.redhat.com/errata/RHSA-2026:55899 cve-icon
https://access.redhat.com/errata/RHSA-2026:57194 cve-icon
https://access.redhat.com/security/cve/CVE-2026-27145 cve-icon
https://bugzilla.redhat.com/show_bug.cgi?id=2484207 cve-icon
https://go.dev/cl/783621 cve-icon cve-icon
https://go.dev/issue/79694 cve-icon cve-icon
https://groups.google.com/g/golang-announce/c/tKs3rmcBcKw cve-icon cve-icon
https://pkg.go.dev/vuln/GO-2026-5037 cve-icon cve-icon
https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-27145.json cve-icon
History

Thu, 20 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
References

Wed, 19 Aug 2026 12:30:00 +0000


Fri, 14 Aug 2026 13:30:00 +0000


Thu, 13 Aug 2026 13:30:00 +0000


Wed, 12 Aug 2026 12:30:00 +0000


Wed, 12 Aug 2026 02:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-400

Tue, 11 Aug 2026 16:00:00 +0000


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-08-21T12:12:58.793Z

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

Link: CVE-2026-27145

cve-icon Vulnrichment

Updated: 2026-08-21T12:12:58.793Z

cve-icon NVD

Status : Awaiting Analysis

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

Modified: 2026-08-21T13:17:12.547

Link: CVE-2026-27145

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T23:00:06Z

Weaknesses
  • CWE-606

    Unchecked Input for Loop Condition