{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-78662",
        "assignerOrgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
        "state": "PUBLISHED",
        "assignerShortName": "Go",
        "dateReserved": "2026-08-24T23:36:15.738Z",
        "datePublished": "2026-09-02T19:37:05.741Z",
        "dateUpdated": "2026-09-02T19:37:05.741Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
                "shortName": "Go",
                "dateUpdated": "2026-09-02T19:37:05.741Z"
            },
            "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"
                }
            ]
        }
    }
}