SSHole: falla de OpenSSH en sistemas con musl (Alpine, OpenWrt, Buildroot, Yocto)
Una vulnerabilidad llamada SSHole afecta a OpenSSH en sistemas Linux que emplean musl como librería C, tales como Alpine, OpenWrt, Buildroot, Yocto y diversas imágenes de contenedores Docker. El fallo permite que cuentas que tendrían que estar bloqueadas para el uso de contraseñas terminen aceptando cualquier clave larga, logrando acceso no autorizado bajo configuraciones muy concretas.
El origen técnico del problema radica en cómo interactúan el marcador de bloqueo en el archivo de credenciales, la forma en que la función de hashing de musl maneja los errores devolviendo un asterisco ante cadenas mayores a una cantidad determinada de bytes, y la lógica implementada por OpenSSH para igualar los tiempos de respuesta de autenticación utilizando el indicador de otra cuenta.
Para que este escenario de riesgo se materialice, se requiere una combinación específica de factores que incluye el uso de musl en lugar de glibc, la ausencia de PAM, la autenticación por contraseña habilitada, la presencia de cuentas bloqueadas y al menos otra cuenta con contraseña real en el sistema.
La solución principal recomendada para mitigar esta falla consiste en actualizar OpenSSH a la versión indicada o posterior, y como medida temporal se sugiere desactivar el acceso mediante contraseña y revisar los registros en busca de accesos anómalos.