CVE-2026-78662: Prevent DoS on deadlocked undecided channel in golang.org/x/crypto/ssh
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 Software
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.