Desarrollo7 nov 2026 · 9 min de lectura

OpenSSH "sshole" (CVE-2026-123158): qué pasó y qué hacer hoy

Una combinación de OpenSSH y musl libc deja entrar por SSH a cuentas que no deberían aceptar contraseña. Afecta sobre todo a Alpine Linux. Aquí está lo confirmado, lo que está en duda y qué revisar hoy.

Ingeniería de Altamar El equipo que diseña, construye y mantiene cada proyecto

#Qué pasó, en tres líneas

  1. El 5 de noviembre de 2026 se hizo público un fallo, apodado “sshole”, que permite entrar por SSH a ciertos servidores Linux sin conocer la contraseña. Se rastrea como CVE-2026-123158, con una puntuación CVSS de 8.1 (alta).
  2. Solo afecta a servidores que usan musl libc (la más conocida es Alpine Linux) con OpenSSH sin PAM y el login por contraseña activado. Ubuntu, Debian, Red Hat y la mayoría de servidores no están afectados.
  3. Ya hay arreglo: OpenSSH 10.6p2 y paquetes corregidos de Alpine para las versiones 3.16 a edge. Hay que actualizar y reiniciar sshd. Si no puedes actualizar todavía, desactiva el login por contraseña.
alpinelinux.org · Security advisory
El aviso de seguridad de Alpine Linux del 5 de noviembre de 2026: actualizar openssh y reiniciar sshd, o desactivar el login con contraseña.

Aviso de seguridad de Alpine Linux, 5 de noviembre de 2026. Captura: Altamar. Fuente: alpinelinux.org.

#¿Me afecta? Quién sí y quién no

Tiene que cumplirse todo esto a la vez. Si falta una sola condición, ese servidor no está afectado.

Altamar · ¿Le afecta sshole?
Diagrama: las cinco condiciones que deben cumplirse a la vez para que sshole le afecte.

Diagrama propio basado en el aviso de Alpine Linux y en el registro CVE-2026-123158.

Situación ¿Afectado? Fuente
Alpine Linux con el paquete openssh-server (viene sin PAM) y login por contraseña activo Sí, si además hay una cuenta con campo * y otra con contraseña normal Alpine
Alpine con openssh-server-pam y UsePAM no Sí Alpine
Alpine con openssh-server-pam y UsePAM yes No Alpine
Cualquier sistema con PasswordAuthentication no No Alpine, oss-security
Contenedores Docker que no corren sshd dentro No Alpine
Imágenes cloud configuradas con cloud-init (escribe PasswordAuthentication no) No Alpine
Imágenes oficiales tiny-cloud de Alpine (3.18.11 a 3.24.3) Sí, en cuanto exista un hash $6$ en la máquina Alpine
Distribuciones con glibc (Ubuntu, Debian, Fedora, RHEL) No The Hacker News, OX Security
Sistemas que verifican contraseñas con PAM No The Hacker News, CVE.org
Dropbear (otro servidor SSH, no OpenSSH) No The Hacker News, OX Security
Sistemas que no son Linux No The Hacker News, CVE.org
Otros sistemas con musl (OpenWrt, Buildroot, Yocto) Revisar: solo si alguien instaló el servidor OpenSSH (OpenWrt usa Dropbear por defecto) OX Security, The Hacker News

Una aclaración importante: el usuario root de Alpine trae el campo * desde aproximadamente la versión 3.16, pero la configuración por defecto de OpenSSH (PermitRootLogin prohibit-password) lo protege. El riesgo real son otras cuentas sin contraseña que puedan volverse root, por ejemplo con doas. Así lo explica Alpine en su aviso.

#Cómo funciona el fallo (versión simple)

Cuando un servidor con OpenSSH comprueba una contraseña sin PAM, la “cifra” y compara el resultado con lo guardado en el sistema. En las cuentas que no tienen contraseña, lo guardado es un simple asterisco: *.

El problema es que musl, la biblioteca que usa Alpine, también devuelve * cuando le pasan una contraseña demasiado larga (más de 256 bytes), como señal de error. Entonces el servidor compara * con *, ve que coinciden y deja entrar. Ni OpenSSH ni musl tienen un error grave por separado: el fallo está en cómo se combinan.

This is not a cryptographic weakness or a memory-corruption vulnerability. It is an authentication logic failure caused by the interaction between two components that interpret the same value differently.

— OX Security

OpenSSH lo describe así en sus notas de versión:

We consider the root cause of this bug to be outside sshd, but it is exploitable via sshd and can be avoided there.

— OpenSSH 10.6p2 release notes
openssh.org · Release Notes
Las notas de la versión OpenSSH 10.6p2, del 5 de noviembre de 2026, que describen un arreglo de seguridad crítico para sistemas Linux con musl libc y sin PAM.

Notas de la versión OpenSSH 10.6p2 (5 de noviembre de 2026). Captura: Altamar. Fuente: openssh.org.

El fallo lo reportó Özgün Kültekin, de Wakefield, según OpenSSH y Alpine. OX Security cuenta que lo encontró compilando sshd en todas las combinaciones de glibc, musl, PAM y sin PAM, y lanzando “roughly 17,600 deliberately unusual login attempts at each build”.

#Cronología

Altamar · Cronología
Cronología de sshole, desde el cambio de musl en 2012 hasta el aviso, el arreglo y el reporte de explotación de noviembre de 2026.

Diagrama propio. Fuentes: The Hacker News, OX Security, OpenSSH, Alpine Linux, CVE.org y Help Net Security.

  • 5 de noviembre de 2026: aviso público en la lista oss-security, publicación de OpenSSH 10.6p2 y aviso de Alpine con paquetes corregidos. El registro CVE-2026-123158 se publicó ese mismo día, con CVSS 8.1 (vector AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H).
  • Ese día, The Hacker News escribía: “No attacks using the flaw have been reported.”
  • 6 de noviembre: la empresa de inteligencia de amenazas Previdian dijo a Help Net Security que vio el primer intento de explotación a menos de nueve horas de publicado el CVE y que consiguió acceso root en un honeypot propio.

Our first observed attempt arrived less than nine hours after CVE publication, and we’ve confirmed successful root access on a Previdian honeypot running real Alpine Linux and OpenSSH

— Ryan Dewhurst, Previdian, a Help Net Security
helpnetsecurity.com
Titular de Help Net Security: OpenSSH flaw exploited in the wild just hours after disclosure (CVE-2026-123158).

Titular de Help Net Security, 6 de noviembre de 2026. Captura: Altamar. Fuente: helpnetsecurity.com.

Lo que está en duda: la explotación la reporta una sola empresa, sobre su propio honeypot, con ocho intentos contados desde una única dirección IP en Japón (Help Net Security, The Hacker News). Help Net Security indica que CISA no lo ha incluido en su catálogo de vulnerabilidades explotadas (KEV). No encontramos confirmación independiente. Nuestra recomendación es tratarlo como explotable: el ataque es sencillo y ya circulan pruebas de concepto, que Previdian advierte que no están verificadas y podrían contener malware.

#Qué hacer hoy

  1. Haz inventario. Lista todos tus servidores, VPS y contenedores que tengan el puerto SSH abierto. Incluye equipos “olvidados”: routers, gateways, servidores de pruebas.
  2. Mira qué sistema usan. cat /etc/os-release. Si dice Alpine, sigue. Si es Ubuntu, Debian o RHEL, ese equipo no está afectado por este fallo (pero sigue siendo buen momento para actualizar).
  3. Revisa la versión de OpenSSH. ssh -V muestra la versión instalada. En Alpine no compares con 10.6p2: las ramas estables traen el arreglo como parche sobre su versión. Compara con la tabla de abajo.
  4. Actualiza. En Alpine: apk upgrade -U -a.
  5. Reinicia sshd. rc-service sshd restart. Actualizar el paquete no reinicia el servicio que ya está corriendo.
  6. Si no puedes actualizar hoy, desactiva el login por contraseña. Pon PasswordAuthentication no en la configuración de sshd y reinicia. Antes, comprueba que tu login con llave funciona y deja abierta tu sesión actual hasta probar una nueva. Verifica con sshd -T | grep -i passwordauthentication, que debe mostrar passwordauthentication no.
  7. Revisa tus imágenes de contenedor y de nube. Si tus contenedores Alpine corren sshd dentro, reconstrúyelos desde una imagen base corregida. Si usas imágenes tiny-cloud de Alpine de antes de 3.21.10, 3.22.8, 3.23.8 o 3.24.4, actualiza openssh en cada instancia que esté corriendo.
  8. Busca señales de intrusión. En /var/log/messages, busca líneas de sshd Accepted password for en cuentas que no tienen contraseña (alpine, root o usuarios solo con llave). Revisa el uso de doas, usuarios creados hace poco y archivos authorized_keys.
Rama de Alpine Versión corregida de openssh
edge 10.6_p2-r0
3.24 10.3_p1-r2
3.23 10.2_p1-r1
3.22 10.0_p1-r11
3.21 9.9_p2-r1
3.20 9.7_p1-r6
3.19 9.6_p1-r3
3.18 9.3_p2-r4
3.17 9.1_p1-r7
3.16 9.0_p1-r6

Fuente: aviso de Alpine y su base de datos de seguridad (secdb), consultada el 7 de noviembre de 2026. La rama 3.15 y anteriores no tienen arreglo publicado: si tienes algo tan viejo, la salida es migrar o desactivar el login por contraseña.

If you cannot rule out a login, treat the machine as compromised.

— Alpine Linux

#Lecciones para cualquier negocio

  • Parchear rápido importa. Entre el aviso y el primer intento de ataque reportado pasaron horas, no semanas. Ten un responsable y un proceso para aplicar parches de seguridad el mismo día.
  • No puedes proteger lo que no sabes que tienes. Muchos negocios no saben cuántos servidores, VPS o contenedores tienen corriendo, ni con qué sistema. Un inventario simple (qué hay, dónde, quién lo mantiene) es lo primero.
  • Las imágenes viejas son un riesgo silencioso. Una imagen de contenedor que nadie reconstruye sigue con sus fallos aunque el sistema “ya se haya arreglado”.
  • Menos puertas abiertas. Si un servidor no necesita SSH abierto a internet, ciérralo o ponlo detrás de una VPN. Y usa llaves en lugar de contraseñas.
  • Vigila los logs. Saber quién entró, cuándo y cómo es lo que permite responder la pregunta “¿nos atacaron?”.

#Cómo puede ayudar Altamar

Si no sabes con certeza qué servidores tienes ni si alguno usa Alpine con SSH abierto, podemos ayudarte a hacer ese inventario, aplicar el arreglo y dejar un proceso para la próxima vez. Agenda una llamada con uno de nuestros ingenieros.

#Referencias

Todas consultadas el 7 de noviembre de 2026.

Archivado en SecurityLinux

Sigue leyendo

Todos los artículos

Agenda una llamada

Hablemos de lo que tu equipotodavía hace a mano.

Elige la hora que mejor te quede. Hablas con nuestro equipo, no con un vendedor.

Agenda una llamada 30 min · Google Meet · Español o inglés