CVE-2026-78662:
Docker Análisis y mitigación de vulnerabilidades
Vista general
CVE-2026-78662 is a denial-of-service vulnerability in the golang.org/x/crypto/ssh package (Go's extended cryptography library) caused by unbounded flooding of an SSH channel's incomingRequests queue before the channel is fully established. A malicious SSH peer can exploit this to deadlock the entire SSH connection. All versions of golang.org/x/crypto/ssh prior to 0.56.0 are affected. It carries a CVSS v3.1 base score of 7.5 (High) and is classified under CWE-770 (Allocation of Resources Without Limits or Throttling) (Feedly, OSV).
Técnicas
The root cause (CWE-770) lies in how the SSH multiplexer (mux) handles channels registered in its chanList before they are fully established. Prior to the fix, a channel was added to chanList immediately upon registration but was not yet usable — yet handlePacket would still process incoming request packets for it, allowing an attacker to flood the channel's incomingRequests channel buffer and cause a deadlock across the entire SSH connection. The fix introduces an atomic established state flag; handlePacket now silently drops all packets except open confirmation or failure until the channel transitions to the established state, preventing blocking without tearing down the connection. The attack requires no authentication and no user interaction, making it automatable over the network (Feedly, Go Issue, Go CL).
Impacto
A malicious SSH peer can deadlock an affected SSH connection entirely, resulting in a denial-of-service condition for any application using golang.org/x/crypto/ssh versions before 0.56.0. While the CVSS score reflects a High confidentiality impact (likely due to the connection state being exposed or disrupted), the primary real-world impact is availability — legitimate SSH sessions and services relying on this library can be rendered unresponsive. There is no direct integrity or data exfiltration impact identified (Feedly, OSV).
Explotabilidad
No public proof-of-concept exploit code or in-the-wild exploitation has been reported as of the disclosure date. The NVD SSVC assessment classifies exploitation as "none" currently, and the EPSS score is approximately 0.17%, indicating a low near-term exploitation probability. The vulnerability is automatable (no authentication or user interaction required), which lowers the barrier for abuse if a PoC were to emerge. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog (Feedly, OSV).
Pasos de explotación
- Identify target: Locate services using
golang.org/x/crypto/sshversions prior to 0.56.0 (e.g., SSH servers, Go-based automation tools, CI/CD agents). - Initiate SSH connection: Establish a TCP connection to the target SSH service and begin the SSH handshake to reach the point where channel negotiation occurs.
- Register a channel: Send an SSH channel open request (
SSH_MSG_CHANNEL_OPEN) to cause the server to register a new channel in itschanListbefore it is established. - Flood incomingRequests: Before the channel open confirmation is processed (i.e., while the channel is in an unestablished state), rapidly send a large volume of SSH channel request packets (
SSH_MSG_CHANNEL_REQUEST) targeting the newly registered channel. - Trigger deadlock: The unbounded
incomingRequestsbuffer fills up, causinghandlePacketto block indefinitely, deadlocking the entire SSH connection multiplexer and denying service to all legitimate users of that connection (Go Issue, Go CL).
Indicadores de compromiso
- Network: Unusually high volume of SSH channel request packets (
SSH_MSG_CHANNEL_REQUEST) sent to a target before channel establishment completes; connections that initiate but never complete normal SSH session activity. - Logs: Application logs showing SSH connections hanging or timing out without completing; Go runtime goroutine dumps indicating blocked goroutines in
handlePacketor channel receive operations withingolang.org/x/crypto/ssh. - Process: SSH-dependent Go services becoming unresponsive or exhibiting high goroutine counts without corresponding CPU activity, suggesting deadlock conditions.
Mitigación y soluciones alternativas
Upgrade golang.org/x/crypto to version 0.56.0 or later, which introduces the atomic established state fix that causes handlePacket to drop pre-establishment packets without blocking. There is no known configuration-based workaround; upgrading is the only remediation. Developers should update their go.mod dependencies and rebuild affected binaries. Network-level controls (e.g., rate-limiting SSH connections from untrusted peers) may reduce exposure but do not eliminate the vulnerability (Go CL, OSV, golang-announce).
Reacciones de la comunidad
The vulnerability was announced via the golang-announce mailing list and tracked in the Go vulnerability database. Community discussion on oss-security mailing lists noted the issue shortly after disclosure. No major vendor statements or notable researcher commentary beyond the official Go project fix have been identified at this time (golang-announce, oss-sec).
Recursos adicionales
Estado de corrección de la distribución Linux
Arreglar la disponibilidad en las principales distribuciones de Linux y sus lanzamientos.
bookworm
golang-go.crypto
sid
golang-go.crypto: 1:0.56.0-1
trixie
golang-go.crypto
Fuente: Este informe se generó utilizando IA
Relacionado Docker Vulnerabilidades:
Evaluación gratuita de vulnerabilidades
Compare su postura de seguridad en la nube
Evalúe sus prácticas de seguridad en la nube en 9 dominios de seguridad para comparar su nivel de riesgo e identificar brechas en sus defensas.
Recursos adicionales de Wiz
Obtén una demostración personalizada
¿Listo para ver a Wiz en acción?
"La mejor experiencia de usuario que he visto en mi vida, proporciona una visibilidad completa de las cargas de trabajo en la nube."
"Wiz proporciona un panel único para ver lo que ocurre en nuestros entornos en la nube."
"Sabemos que si Wiz identifica algo como crítico, en realidad lo es."