CVE-2026-78662: Prevent DoS on deadlocked undecided channel in golang.org/x/crypto/ssh
Prevent DoS on deadlocked undecided channel in golang.org/x/crypto/ssh
Other sources
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.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 1.9.5-21 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 2.27.0-14 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 2.101.0-1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 8.7.11-9 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 1.12.15-14 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 0.14.0-17 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 1.31.0-33 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 1.30.10-30 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 1.8.4-2
Event History
Frequently Asked Questions
Who can trigger the denial of service?
A malicious SSH peer can trigger it by flooding incoming channel requests while a channel is registered but not yet established. The resulting deadlock can affect the entire SSH connection.
What traffic is accepted before a channel is established after the fix?
Before establishment, packet handling accepts only channel open confirmation or open failure packets. Other packets are dropped without blocking or tearing down the connection.