UnratedFix available
Limit handshake messages we are willing to accept post-handshake in crypto/tls
Type: advisorySources: OSV
Handshake messages, such as KeyUpdate, are always considered as state-advancing, regardless of whether a handshake has been completed or not. As a result, a malicious client can keep sending KeyUpdate messages to force the server to keep performing key derivation operations indefinitely.
- Products
- stdlib
- Affected versions
- Not specified
- Fixed versions
- 1.25.13, 1.26.6, 1.27.0-rc.3
- CVEs
- CVE-2026-56862
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 09:36 UTC · Revision 1
Source evidence
Limit handshake messages we are willing to accept post-handshake in crypto/tls
core-osv · Original sourcePublished 13 Aug 2026, 21:43 UTC
Handshake messages, such as KeyUpdate, are always considered as state-advancing, regardless of whether a handshake has been completed or not. As a result, a malicious client can keep sending KeyUpdate messages to force the server to keep performing key derivation operations indefinitely.
osv:GO-2026-6090
stdlib
Fixed versions: 1.25.13, 1.26.6, 1.27.0-rc.3
Complete source record
{
"id": "24a83a0e7122b17937efbadc4b1ffdf5a0f64fd16b079e69f1664bdd6d0a153d",
"url": "https://osv.dev/vulnerability/GO-2026-6090",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Limit handshake messages we are willing to accept post-handshake in crypto/tls",
"summary": "Handshake messages, such as KeyUpdate, are always considered as state-advancing, regardless of whether a handshake has been completed or not. As a result, a malicious client can keep sending KeyUpdate messages to force the server to keep performing key derivation operations indefinitely.",
"evidence": "osv:GO-2026-6090",
"products": [
{
"name": {
"value": "stdlib",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "1.25.13",
"evidence": "/affected/0/ranges"
},
{
"value": "1.26.6",
"evidence": "/affected/0/ranges"
},
{
"value": "1.27.0-rc.3",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "GO-2026-6090",
"aliases": [
"BIT-golang-2026-56862",
"CVE-2026-56862",
"GO-2026-6090"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.25.13"
},
{
"introduced": "1.26.0-0"
},
{
"fixed": "1.26.6"
},
{
"introduced": "1.27.0-0"
},
{
"fixed": "1.27.0-rc.3"
}
]
}
],
"package": {
"name": "stdlib",
"purl": "pkg:golang/stdlib",
"ecosystem": "Go"
},
"database_specific": {
"source": "https://vuln.go.dev/ID/GO-2026-6090.json"
},
"ecosystem_specific": {
"imports": [
{
"path": "crypto/tls",
"symbols": [
"Conn.Handshake",
"Conn.HandshakeContext",
"Conn.Read",
"Conn.Write",
"Conn.readRecordOrCCS",
"Dial",
"DialWithDialer",
"Dialer.Dial",
"Dialer.DialContext",
"QUICConn.HandleData",
"QUICConn.Start"
]
}
]
}
}
],
"modified": "2026-10-20T10:42:24.559672268Z",
"provider": "osv",
"references": [
"https://go.dev/issue/80528",
"https://go.dev/cl/804261",
"https://groups.google.com/g/golang-announce/c/94pEornpRlI"
],
"provider_metadata": {
"url": "https://pkg.go.dev/vuln/GO-2026-6090",
"review_status": "REVIEWED"
}
},
"related_cves": [
{
"value": "CVE-2026-56862",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 379199,
"published_at": "2026-08-13T21:43:54+00:00"
}