CVE-2026-27145
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.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
Mitigation details
CVE-2026-27145 NameCVE-2026-27145 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β¦
CVE-2026-27145
| Name | CVE-2026-27145 |
| 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. |
| Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
Vulnerable and fixed packages
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|---|---|---|
| golang-1.15 (PTS) | bullseye | 1.15.15-1~deb11u4 | vulnerable |
| golang-1.19 (PTS) | bookworm | 1.19.8-2 | vulnerable |
| golang-1.24 (PTS) | trixie | 1.24.4-1 | vulnerable |
| golang-1.25 (PTS) | forky, sid | 1.25.10-2 | vulnerable |
| golang-1.26 (PTS) | forky, sid | 1.26.3-2 | vulnerable |
The information below is based on the following data on fixed versions.
| Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
|---|---|---|---|---|---|---|
| golang-1.15 | source | (unstable) | (unfixed) | |||
| golang-1.19 | source | (unstable) | (unfixed) | |||
| golang-1.24 | source | (unstable) | (unfixed) | |||
| golang-1.25 | source | (unstable) | (unfixed) | |||
| golang-1.26 | source | (unstable) | (unfixed) |
Notes
https://github.com/golang/go/issues/79694
https://github.com/golang/go/commit/ce5a3e718cac440defae617dc6ed72a6e94cd0af (go1.26.4)
https://github.com/golang/go/commit/c5d18e479475e251c8593b1113fb53836117d5d3 (go1.25.11)
Apply commands
https://github.com/golang/go/issues/79694https://github.com/golang/go/commit/ce5a3e718cac440defae617dc6ed72a6e94cd0af (go1.26.4)https://github.com/golang/go/commit/c5d18e479475e251c8593b1113fb53836117d5d3 (go1.25.11)
OS impact
Debian Affected 5 releases
| Version | Status | Fixed in |
|---|---|---|
| trixie | Affected | β |
| sid | Affected | β |
| forky | Affected | β |
| bullseye | Affected | β |
| bookworm | Affected | β |
SUSE Affected 1 release
| Version | Status | Fixed in |
|---|---|---|
| β | Affected | β |
Package impact
| Ecosystem | Package | Vulnerable | Fixed |
|---|---|---|---|
| Go | stdlib | >=1.26.0-0,<1.26.4 | 1.25.11 |
References
CWEs
CWE-407:
Community-verified mitigations for this CVE will appear above when contributors publish them.
Verify integrity in audit chain (admin only). AS-IS.