Skip to main content

Go crypto/x509 CVE-2026-27145

| EUVDEUVD-2026-34038 MEDIUM
Unchecked Input for Loop Condition (CWE-606)
2026-06-02 Go GHSA-4279-q6mj-392r
6.5
CVSS 3.1 · Vendor: Go
View

Attack ChainAIDerived

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

  1. Access
    Obtain network position to present crafted certificate
  2. Delivery
    Generate X.509 cert with large DNS SAN list
  3. Exploit
    Initiate TLS connection to vulnerable Go service
  4. Execution
    Trigger VerifyHostname quadratic computation per SAN × hostname labels
  5. Persist
    Multiply concurrent connections to amplify CPU exhaustion
  6. Impact
    Deny availability of the target service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Unchecked input for loop condition
Exploitation Conditions

The target application must be written in Go and use the crypto/x509 package (directly or via the standard tls package) to verify certificates containing externally-supplied DNS SAN lists. The vulnerability is triggered during x509.Verify or any code path that reaches VerifyHostname, which occurs before certificate chain validation - meaning the presented certificate does not need to be signed by a trusted CA. Exploitation is amplified when: (1) the target accepts client-provided certificates (e.g., mutual TLS or any TLS client that connects to attacker-controlled servers), (2) certificates with large SAN counts (hundreds to thousands of entries) are presented, and (3) the hostname being verified has many dot-separated labels (e.g., deep subdomains). Exploitation is limited by: the need for a network position to present the crafted certificate (either controlling a server the victim connects to, or a MitM position); the CVSS AC:H rating reflecting this positional requirement; and the fact that single-connection impact, while measurable, likely requires many concurrent connections for meaningful service disruption. Go versions 1.25.11+ and 1.26.4+ are not affected.

Impact

The CVSS 6.5 score (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H) reflects a network-reachable, unauthenticated attack with high availability impact, tempered by high attack complexity. The AC:H designation aligns with the need for the attacker to be in a position to present a crafted certificate to the victim - typically requiring either a man-in-the-middle position on the network path or control of a server that the victim TLS client connects to. The C:N in the CVSS vector directly contradicts the 'Information Disclosure' tag present in the intelligence feed; the actual impact is a CPU-exhaustion DoS, not data exposure - that tag appears to be a mislabeling and should not drive triage decisions. EPSS at 0.00% (0th percentile) signals negligible observed exploitation probability, consistent with a pure algorithmic complexity issue lacking weaponized tooling. KEV status is absent. Despite the low exploitation probability scores, organizations running Go-based TLS services that validate client-presented certificates - particularly those exposed to arbitrary certificate input - face a realistic CPU starvation risk if an attacker can craft a certificate with hundreds or thousands of DNS SANs. The absence of a chain-of-trust requirement before the vulnerable code path executes lowers the practical barrier meaningfully relative to what AC:H alone implies.

Exploit ScenarioDerived

An attacker who controls a TLS server - or occupies a man-in-the-middle position on the network - crafts an X.509 certificate containing several hundred or thousand DNS Subject Alternative Name entries. When a vulnerable Go client (or server performing mutual TLS verification) connects and calls x509.Verify, the hostname verification loop runs strings.Split on the client's hostname for every SAN entry, consuming disproportionate CPU. By establishing many concurrent TLS connections each presenting this crafted certificate, the attacker can saturate CPU on the target, denying service to legitimate users. No public exploit code is identified at time of analysis, but the attack is straightforward to construct given the public issue description.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jun 04, 2026

Quadratic-complexity denial-of-service in Go's crypto/x509 package allows a network-positioned attacker presenting a certificate with a large DNS Subject Alternative Name list to exhaust CPU on the verifying party. The root cause is that VerifyHostname called strings.Split(host, ".") inside a loop over every DNS SAN entry rather than computing it once, scaling work as O(SANs × hostname_labels). Critically, x509.Verify performs hostname validation before chain building, meaning even untrusted, self-signed certificates trigger the expensive computation - no valid CA-issued certificate is required. No public exploit is identified at time of analysis, and EPSS is 0.00%, consistent with a newly-disclosed algorithmic complexity issue without weaponized tooling.

RemediationAI

Upgrade to Go 1.25.11 or Go 1.26.4 - these are the vendor-released patched versions per EUVD-2026-34038 and the Go vulnerability database entry GO-2026-5037 (https://pkg.go.dev/vuln/GO-2026-5037). The upstream fix (https://go.dev/cl/783621) hoists the strings.Split call outside the SAN loop, reducing complexity from quadratic to linear. If an immediate upgrade is not feasible, compensating controls include: restricting inbound TLS connections to trusted certificate authorities only using tls.Config.ClientCAs and tls.Config.ClientAuth = tls.RequireAndVerifyClientCert (trades off blocking anonymous client cert abuse but does not help where the attacker controls a server), deploying rate limiting and connection throttling at the load balancer or proxy layer to constrain the rate at which TLS handshakes can be initiated from a single source (reduces DoS impact but does not eliminate it), and using a TLS termination proxy that performs certificate processing before forwarding to the Go application (isolates the vulnerable code path at the cost of added infrastructure complexity). These workarounds carry operational trade-offs and are not substitutes for patching.

Affected VersionsENISA

crypto/x509 0 <1.25.11
crypto/x509 1.26.0-0 <1.26.4

Affected Packages

go stdlib fix: 1.25.11, 1.26.4
euvd crypto_x509 fix: 1.25.11, 1.26.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is the crypto/x509 package in the Go standard library (CPE: cpe:2.3:a:go_standard_library:crypto/x509:*:*:*:*:*:*:*:*). The VerifyHostname method iterates over all DNS SAN entries in a certificate and, for each entry, calls matchHostnames which internally invokes strings.Split(host, ".") to decompose the hostname into labels. Because this split was performed inside the loop rather than being hoisted out and cached before iteration, the work grows proportionally to both the number of SAN entries and the number of dot-separated labels in the hostname - producing quadratic worst-case complexity. CWE is listed as N/A in the source data, but the vulnerability class maps to CWE-407 (Inefficient Algorithmic Complexity). The design flaw was identified via Go issue tracker reference https://go.dev/issue/79694 and fixed in changelist https://go.dev/cl/783621, which hoists the split computation outside the loop.

Know when Crypto X509 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 (Go) PRIMARY 6.5 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H
SUSE MEDIUM
Red Hat 7.5 HIGH

Primary rating from Vendor (Go).

CVSS VectorVendor: Go

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
High

Lifecycle Timeline

2
CVSS changed
Jun 04, 2026 - 14:22 NVD
6.5 (MEDIUM)
CVE Published
Jun 02, 2026 - 22:01 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

(*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.

Threat Intelligence Overview

EPSS Score
0.0%
Top 100% exploitable
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Medium
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS Affected
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS Affected
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS Affected
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS Affected

References

Advisories & patches
ADVISORY https://access.redhat.com/errata/RHSA-2026:37276 ADVISORY https://nvd.nist.gov/vuln/detail/CVE-2026-27145 ADVISORY https://seclists.org/oss-sec/2026/q2/789 ADVISORY https://vuldb.com/vuln/368042 REF https://access.redhat.com/errata/RHSA-2026:23262 REF https://access.redhat.com/errata/RHSA-2026:23264 REF https://access.redhat.com/errata/RHSA-2026:29980 REF https://access.redhat.com/errata/RHSA-2026:29981 REF https://access.redhat.com/errata/RHSA-2026:33574 REF https://access.redhat.com/errata/RHSA-2026:34357 REF https://access.redhat.com/errata/RHSA-2026:34359 REF https://access.redhat.com/errata/RHSA-2026:35832 REF https://access.redhat.com/errata/RHSA-2026:36317 REF https://access.redhat.com/errata/RHSA-2026:36648 REF https://access.redhat.com/errata/RHSA-2026:36797 REF https://access.redhat.com/errata/RHSA-2026:38995 REF https://access.redhat.com/errata/RHSA-2026:39005 REF https://access.redhat.com/errata/RHSA-2026:39573 REF https://access.redhat.com/errata/RHSA-2026:39879 REF https://access.redhat.com/errata/RHSA-2026:41030 REF https://access.redhat.com/errata/RHSA-2026:41036 REF https://access.redhat.com/errata/RHSA-2026:41930 REF https://access.redhat.com/errata/RHSA-2026:42043 REF https://access.redhat.com/errata/RHSA-2026:42047 REF https://access.redhat.com/errata/RHSA-2026:42049 REF https://access.redhat.com/errata/RHSA-2026:42050 REF https://access.redhat.com/errata/RHSA-2026:42051 REF https://access.redhat.com/errata/RHSA-2026:42079 REF https://access.redhat.com/errata/RHSA-2026:42080 REF https://access.redhat.com/errata/RHSA-2026:42082 REF https://access.redhat.com/errata/RHSA-2026:42142 REF https://access.redhat.com/errata/RHSA-2026:42150 REF https://access.redhat.com/errata/RHSA-2026:42151 REF https://access.redhat.com/errata/RHSA-2026:42240 REF https://access.redhat.com/errata/RHSA-2026:42644 REF https://access.redhat.com/errata/RHSA-2026:42946 REF https://access.redhat.com/errata/RHSA-2026:44622 REF https://access.redhat.com/errata/RHSA-2026:46394 REF https://access.redhat.com/errata/RHSA-2026:46395 REF https://access.redhat.com/errata/RHSA-2026:47149 REF https://access.redhat.com/errata/RHSA-2026:47735 REF https://access.redhat.com/errata/RHSA-2026:47737 REF https://access.redhat.com/errata/RHSA-2026:49702 REF https://access.redhat.com/errata/RHSA-2026:49703 REF https://access.redhat.com/errata/RHSA-2026:49705 REF https://access.redhat.com/errata/RHSA-2026:49712 REF https://access.redhat.com/errata/RHSA-2026:49729 REF https://access.redhat.com/errata/RHSA-2026:49744 REF https://access.redhat.com/errata/RHSA-2026:49765 REF https://access.redhat.com/errata/RHSA-2026:49770 REF https://access.redhat.com/errata/RHSA-2026:50205 REF https://access.redhat.com/errata/RHSA-2026:50319 REF https://access.redhat.com/errata/RHSA-2026:51057 REF https://access.redhat.com/errata/RHSA-2026:51187 REF https://access.redhat.com/errata/RHSA-2026:52946 REF https://access.redhat.com/errata/RHSA-2026:53374 REF https://access.redhat.com/errata/RHSA-2026:53412 REF https://access.redhat.com/errata/RHSA-2026:53413 REF https://access.redhat.com/errata/RHSA-2026:53415 REF https://access.redhat.com/errata/RHSA-2026:53416 REF https://access.redhat.com/errata/RHSA-2026:53530 REF https://access.redhat.com/errata/RHSA-2026:54168 REF https://access.redhat.com/errata/RHSA-2026:54401 REF https://access.redhat.com/errata/RHSA-2026:54427 REF https://access.redhat.com/errata/RHSA-2026:54432 REF https://access.redhat.com/errata/RHSA-2026:54435 REF https://access.redhat.com/errata/RHSA-2026:54441 REF https://access.redhat.com/errata/RHSA-2026:54500 REF https://access.redhat.com/errata/RHSA-2026:54525 REF https://access.redhat.com/errata/RHSA-2026:54531 REF https://access.redhat.com/errata/RHSA-2026:54603 REF https://access.redhat.com/errata/RHSA-2026:54757 REF https://access.redhat.com/errata/RHSA-2026:55899 REF https://access.redhat.com/errata/RHSA-2026:57194 REF https://access.redhat.com/errata/RHSA-2026:57482 REF https://access.redhat.com/errata/RHSA-2026:57488 REF https://access.redhat.com/errata/RHSA-2026:57649 REF https://access.redhat.com/errata/RHSA-2026:59556 REF https://access.redhat.com/errata/RHSA-2026:59557 REF https://access.redhat.com/errata/RHSA-2026:59558 REF https://access.redhat.com/errata/RHSA-2026:59559 REF https://access.redhat.com/errata/RHSA-2026:59579 REF https://access.redhat.com/errata/RHSA-2026:59593 REF https://access.redhat.com/errata/RHSA-2026:60025 REF https://access.redhat.com/errata/RHSA-2026:60315 REF https://access.redhat.com/errata/RHSA-2026:60354 REF https://access.redhat.com/errata/RHSA-2026:60386 REF https://access.redhat.com/errata/RHSA-2026:60387 REF https://access.redhat.com/errata/RHSA-2026:60388 REF https://access.redhat.com/errata/RHSA-2026:60390 REF https://access.redhat.com/errata/RHSA-2026:60391 REF https://access.redhat.com/errata/RHSA-2026:61253 REF https://access.redhat.com/errata/RHSA-2026:61314 REF https://access.redhat.com/errata/RHSA-2026:63016 REF https://access.redhat.com/errata/RHSA-2026:66022 REF https://access.redhat.com/errata/RHSA-2026:68334 REF https://access.redhat.com/errata/RHSA-2026:68335 REF https://access.redhat.com/security/cve/CVE-2026-27145 REF https://bugzilla.redhat.com/show_bug.cgi?id=2484207 REF https://go.dev/cl/783621 REF https://go.dev/issue/79694 REF https://groups.google.com/g/golang-announce/c/tKs3rmcBcKw REF https://pkg.go.dev/vuln/GO-2026-5037 REF https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-27145.json

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy