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
azurelinux/moby-engineto a version that resolves this vulnerability.Fixed in 25.0.3-21 - Upgrade
Upgrade
azurelinux/packerto a version that resolves this vulnerability.Fixed in 1.9.5-21 - Upgrade
Upgrade
azurelinux/kubevirtto a version that resolves this vulnerability.Fixed in 1.8.4-2 - Upgrade
Upgrade
azurelinux/kubernetesto a version that resolves this vulnerability.Fixed in 1.30.10-30 - Upgrade
Upgrade
azurelinux/docker-buildxto a version that resolves this vulnerability.Fixed in 0.14.0-17 - Upgrade
Upgrade
azurelinux/cf-clito a version that resolves this vulnerability.Fixed in 8.7.11-9 - Upgrade
Upgrade
azurelinux/docker-composeto a version that resolves this vulnerability.Fixed in 2.27.0-14 - Upgrade
Upgrade
azurelinux/telegrafto a version that resolves this vulnerability.Fixed in 1.31.0-33 - Upgrade
Upgrade
azurelinux/ghto a version that resolves this vulnerability.Fixed in 2.101.0-1 - Upgrade
Upgrade
azurelinux/cert-managerto a version that resolves this vulnerability.Fixed in 1.12.15-14
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.