CVE-2026-56862
Golang vulnerability analysis and mitigation

Overview

CVE-2026-56862 is a Denial of Service vulnerability in the Go standard library's crypto/tls package caused by improper handling of TLS handshake messages. Handshake messages such as KeyUpdate are always treated as state-advancing regardless of whether a TLS handshake has been completed, allowing a malicious client to repeatedly send KeyUpdate messages and force the server into continuous, unbounded key derivation operations. Affected versions include Go crypto/tls before 1.25.13, 1.26.0–1.26.6, and 1.27.0-0–1.27.0-rc.3. The vulnerability was published on August 13, 2026, with a patch advisory released the following day. A formal CVSS score has not yet been assigned, though it is estimated as HIGH severity (Github Advisory, Go Vuln DB).

Technical details

The root cause is improper resource allocation without limits or throttling (CWE-770): the crypto/tls implementation unconditionally treats incoming handshake messages as state-advancing, even before a handshake has been fully completed. An unauthenticated network attacker can exploit this by establishing a partial TLS connection and then flooding the server with KeyUpdate messages, each of which triggers computationally expensive key derivation (HKDF) operations. Because there is no check to confirm handshake completion before processing these messages, the server has no mechanism to reject or rate-limit them. The issue is tracked upstream at the Go project issue tracker and addressed via code change CL 804261 (Go Issue, Go CL, Go Vuln DB).

Impact

Successful exploitation results in a Denial of Service against any Go application using the crypto/tls package as a TLS server. An unauthenticated remote attacker can exhaust server CPU resources by forcing continuous key derivation operations, degrading or completely disabling service availability. There is no evidence of confidentiality or integrity impact; the attack is limited to availability (Github Advisory, Go Vuln DB).

Exploitability

There is no public proof-of-concept exploit and no evidence of active in-the-wild exploitation as of the time of publication. The EPSS score is 0.0, and the vulnerability has not been added to the CISA Known Exploited Vulnerabilities (KEV) catalog. The attack requires only network access and no authentication, lowering the barrier for exploitation once a PoC becomes available (Github Advisory, Go Vuln DB).

Exploitation steps

  1. Reconnaissance: Identify internet-facing services built with Go that expose TLS endpoints (e.g., HTTPS servers, gRPC services), targeting versions of the Go standard library before 1.25.13, 1.26.6, or 1.27.0-rc.3.
  2. Initiate partial TLS connection: Establish a TCP connection to the target server and begin a TLS handshake without completing it, keeping the connection in a pre-handshake state.
  3. Send repeated KeyUpdate messages: Transmit a high volume of TLS KeyUpdate handshake messages to the server. Because the crypto/tls implementation does not verify handshake completion before processing these messages, each one triggers a key derivation operation.
  4. Resource exhaustion: The server continuously performs HKDF key derivation for each received KeyUpdate message, consuming CPU resources. Repeating this across multiple connections or at high frequency degrades or disables server availability (Go Issue, Go Vuln DB).

Indicators of compromise

  • Network: Unusually high volume of TLS KeyUpdate messages from a single or small set of source IPs; TCP connections to TLS ports that remain in a partial handshake state for extended periods.
  • Process/System: Sustained high CPU utilization on Go-based TLS server processes without a corresponding increase in legitimate application traffic; elevated load average on affected hosts.
  • Logs: Application or system logs showing repeated TLS handshake-related operations or errors; connection logs with many short-lived or stalled TLS sessions from the same source.

Mitigation and workarounds

Upgrade to a patched version of the Go toolchain: Go 1.25.13, Go 1.26.6, or Go 1.27.0-rc.3 or later, which correct the improper handling of KeyUpdate messages before handshake completion. As a temporary workaround, consider implementing network-level rate limiting on TLS connection attempts or deploying a TLS-terminating proxy (e.g., nginx, HAProxy) in front of affected Go services to absorb and filter malformed handshake traffic. The patch is tracked as Go CL 804261 (Github Advisory, Go CL, Golang Announce).

Community reactions

The Go team disclosed the vulnerability via the golang-announce mailing list and published a fix through the standard Go release process. The issue was also reported to the oss-security mailing list. No notable independent researcher commentary or significant social media discussion has been observed beyond standard vulnerability aggregator coverage (Golang Announce, oss-sec).

Additional resources


SourceThis report was generated using AI

Related Golang vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-56865NONEN/A
  • Golang logoGolang
  • cpe:2.3:a:golang:go
NoYesAug 13, 2026
CVE-2026-56864NONEN/A
  • Golang logoGolang
  • golang-1.24
NoYesAug 13, 2026
CVE-2026-56862NONEN/A
  • Golang logoGolang
  • golang-1.27
NoYesAug 13, 2026
CVE-2026-56860NONEN/A
  • Golang logoGolang
  • golang-1.19
NoYesAug 13, 2026
CVE-2026-56859NONEN/A
  • Chainguard logoChainguard
  • golang-1.24
NoYesAug 13, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management