Skip to main content

Go CVE-2026-27137

HIGH
Improper Certificate Validation (CWE-295)
2026-03-06 security@golang.org
7.5
CVSS 3.1 · Vendor: golang
Share

Severity by source

Vendor (golang) PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
SUSE
HIGH
qualitative
Red Hat
7.5 HIGH
qualitative

Primary rating from Vendor (golang).

CVSS VectorVendor: golang

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Updated
Apr 21, 2026 - 15:00 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Apr 21, 2026 - 14:52 vuln.today
cvss_changed
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
Analysis Generated
Mar 12, 2026 - 22:06 vuln.today
CVE Published
Mar 06, 2026 - 22:16 nvd
HIGH 7.5

DescriptionCVE.org

When verifying a certificate chain which contains a certificate containing multiple email address constraints which share common local portions but different domain portions, these constraints will not be properly applied, and only the last constraint will be considered.

AnalysisAI

X.509 certificate chain validation in Go 1.26.0 improperly enforces email address constraints when multiple constraints share local parts but differ in domain parts, causing all but the last constraint to be ignored. This CWE-295 (Improper Certificate Validation) flaw allows attackers to bypass intended certificate usage restrictions through specially crafted certificate chains, potentially enabling unauthorized access to services relying on Go's TLS implementation for email-based certificate validation. EPSS score of 0.03% (9th percentile) indicates low predicted exploitation likelihood, and no active exploitation or public exploit code has been identified at time of analysis.

Technical ContextAI

This vulnerability affects Go's crypto/x509 certificate validation logic, specifically the handling of Name Constraints defined in RFC 5280. Name constraints allow certificate authorities to restrict the namespace within which subordinate certificates can issue credentials. The flaw occurs during certificate chain verification when processing email address constraints (rfc822Name constraints). When a certificate contains multiple constraints with identical local parts (e.g., 'user@') but different domains (e.g., 'user@example.com' vs 'user@test.com'), the validation logic incorrectly processes only the final constraint while ignoring preceding ones. This is a CWE-295 (Improper Certificate Validation) issue where the trust boundary enforcement mechanism fails. The affected component is Go's standard library x509 package used throughout the Go ecosystem for TLS/SSL certificate validation. The CPE identifier cpe:2.3:a:golang:go:1.26.0 indicates this affects specifically Go version 1.26.0, suggesting it may be a regression introduced in that release rather than a longstanding issue.

RemediationAI

Upgrade Go to the patched version as detailed in the official Go security announcement at https://groups.google.com/g/golang-announce/c/EdhZqrQ98hk and the fix implementation at https://go.dev/cl/752182. The patch corrects the certificate chain validation logic to properly enforce all email address constraints rather than only the last one. For applications already compiled with Go 1.26.0, recompilation with the patched Go toolchain is required since the vulnerability exists in the compiled standard library code. Red Hat Enterprise Linux users should apply RHSA-2026:5110 or RHSA-2026:5549 depending on their system version. SUSE Linux Enterprise users should apply the appropriate update from SUSE-SU-2026:0876, SUSE-SU-2026:0976, SUSE-SU-2026:0993, or SUSE-SU-2026:1042 based on their distribution. If immediate patching is not feasible, implement compensating controls by auditing certificate validation code paths to identify applications relying on email-based certificate constraints, then temporarily disable email constraint validation or implement additional application-layer authorization checks to verify email identity independently of certificate constraints (noting this reduces the security boundary and should be considered a temporary measure with increased logging/monitoring). Organizations not using email-based certificate validation for authentication or authorization are not exposed to exploitation despite running vulnerable Go versions.

More in Go

View all
CVE-2016-5386 HIGH
8.1 Jul 19

The net/http package in Go through 1.6 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and there

CVE-2025-68121 CRITICAL POC
10.0 Feb 05

Critical certificate validation bypass in Go crypto/tls during session resumption. If ClientCAs or RootCAs fields are mu

CVE-2019-14809 CRITICAL POC
9.8 Aug 13

net/url in Go before 1.11.13 and 1.12.x before 1.12.8 mishandles malformed hosts in URLs, leading to an authorization by

CVE-2018-7187 HIGH POC
8.8 Feb 16

The "go get" implementation in Go 1.9.4, when the -insecure command-line option is used, does not validate the import pa

CVE-2015-5739 CRITICAL
9.8 Oct 18

The net/http library in net/textproto/reader.go in Go before 1.4.3 does not properly parse HTTP header keys, which allow

CVE-2020-0601 HIGH POC
8.1 Jan 14

A spoofing vulnerability exists in the way Windows CryptoAPI (Crypt32.dll) validates Elliptic Curve Cryptography (ECC) c

CVE-2019-9634 HIGH POC
7.8 Mar 08

Go through 1.12 on Windows misuses certain LoadLibrary functionality, leading to DLL injection. Rated high severity (CVS

CVE-2018-6574 HIGH POC
7.8 Feb 07

Go before 1.8.7, Go 1.9.x before 1.9.4, and Go 1.10 pre-releases before Go 1.10rc2 allow "go get" remote command executi

CVE-2025-61726 HIGH POC
7.5 Jan 28

The net/url package does not set a limit on the number of query parameters in a query. While the maximum size of query p

CVE-2022-2880 HIGH POC
7.5 Oct 14

Requests forwarded by ReverseProxy include the raw query parameters from the inbound request, including unparsable param

CVE-2022-32189 HIGH POC
7.5 Aug 10

A too-short encoded message can cause a panic in Float.GobDecode and Rat GobDecode in math/big in Go before 1.17.13 and

CVE-2022-30634 HIGH POC
7.5 Jul 15

Infinite loop in Read in crypto/rand before Go 1.17.11 and Go 1.18.3 on Windows allows attacker to cause an indefinite h

Vendor StatusVendor

SUSE

Severity: High
Product Status
Container suse/sl-micro/6.1/baremetal-os-container:2.2.1-7.44 Image SL-Micro-Azure Image SL-Micro-BYOS-Azure Image SL-Micro-BYOS-EC2 Image SL-Micro-BYOS-GCE Image SL-Micro-EC2 Image SUSE-Multi-Linux-Manager-Proxy-BYOS-Azure Image SUSE-Multi-Linux-Manager-Proxy-BYOS-EC2 Image SUSE-Multi-Linux-Manager-Proxy-BYOS-GCE Image SUSE-Multi-Linux-Manager-Server-Azure-llc Image SUSE-Multi-Linux-Manager-Server-Azure-ltd Image SUSE-Multi-Linux-Manager-Server-BYOS-Azure Image SUSE-Multi-Linux-Manager-Server-BYOS-EC2 Image SUSE-Multi-Linux-Manager-Server-BYOS-GCE Image SUSE-Multi-Linux-Manager-Server-EC2-llc Image SUSE-Multi-Linux-Manager-Server-EC2-ltd Affected
SUSE Linux Enterprise Desktop 15 SP7 SUSE Linux Enterprise High Performance Computing 15 SP7 SUSE Linux Enterprise Module for Development Tools 15 SP7 SUSE Linux Enterprise Server 15 SP7 SUSE Linux Enterprise Server for SAP Applications 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS Fixed
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS Fixed

Share

CVE-2026-27137 vulnerability details – vuln.today

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