blob: c5686c67398413db569a98a7860fac363b6588d9 [file] [edit]
{
"dataType": "CVE_RECORD",
"dataVersion": "5.0",
"cveMetadata": {
"cveId": "CVE-2026-78662"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc"
},
"title": "Prevent DoS on deadlocked undecided channel in golang.org/x/crypto/ssh",
"descriptions": [
{
"lang": "en",
"value": "Previously, a channel registered in the mux's chanList is not usable until it is established. A malicious peer was able flood the channel's incomingRequests, deadlocking the entire connection. Now, we add an atomic established state, set when a channel becomes usable. Until such a time, handlePacket drops every packet other than the open confirmation/failure, without blocking and without tearing down the connection."
}
],
"affected": [
{
"vendor": "golang.org/x/crypto",
"product": "golang.org/x/crypto/ssh",
"collectionURL": "https://pkg.go.dev",
"packageName": "golang.org/x/crypto/ssh",
"versions": [
{
"version": "0",
"lessThan": "0.56.0",
"status": "affected",
"versionType": "semver"
}
],
"programRoutines": [
{
"name": "channel.handlePacket"
},
{
"name": "channel.responseMessageReceived"
},
{
"name": "channel.Accept"
},
{
"name": "Dial"
},
{
"name": "NewClientConn"
},
{
"name": "NewControlClientConn"
},
{
"name": "NewServerConn"
}
],
"defaultStatus": "unaffected"
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "CWE-770: Allocation of Resources Without Limits or Throttling"
}
]
}
],
"references": [
{
"url": "https://go.dev/issue/81316"
},
{
"url": "https://go.dev/cl/826504"
},
{
"url": "https://groups.google.com/g/golang-announce/c/1y3fb2np35U"
},
{
"url": "https://pkg.go.dev/vuln/GO-2026-6354"
}
],
"credits": [
{
"lang": "en",
"value": "Will Mortensen"
}
]
}
}
}