Saltar al contenido
Buscar

Informática

Un fallo entre OpenSSH y musl permite entrar sin clave en cuentas de Alpine Linux: cómo actualizar

El 5 de noviembre de 2026, el proyecto OpenSSH y Alpine Linux publicaron parches de emergencia para una vulnerabilidad grave que permite iniciar sesión por SSH en cuentas que tienen deshabilitada la contraseña en sistemas basados en la librería musl.

Edición y revisión: Cristian Moriche Publicada el

Texto elaborado con ayuda de inteligencia artificial a partir de las fuentes citadas. Política editorial

Sala de un centro de datos con una fila de bastidores negros de servidores y mazos de cables de red azules sobre un suelo técnico blanco
Carl Lender (Wikimedia Commons) · CC BY 2.0 · Recortada · Origen

Qué ha pasado

El 5 de noviembre de 2026, el proyecto OpenSSH lanzó la versión 10.6p2 y Alpine Linux publicó un aviso de ciberseguridad para corregir un fallo que permite entrar por SSH (el protocolo para administrar servidores a distancia) en cuentas sin contraseña asignada. El error lo reportó Özgün Kültekin, de Wakefield, quien según BleepingComputer lo halló con agentes de IA tras unas 17.600 pruebas automatizadas.

Las fuentes discrepan sobre el identificador oficial: Alpine Linux, Check Point y Ars Technica indican que al publicarse no tenía código CVE (el registro estándar de vulnerabilidades), mientras que en España INCIBE-CERT lo recoge como CVE-2026-123158 con severidad alta. Según RedesZone, no constan ataques reales confirmados.

Por qué ocurre y quién discute la causa

En Linux, /etc/shadow guarda los resúmenes criptográficos (hashes) de las contraseñas y passkeys. Cuando una cuenta solo admite clave criptográfica y no contraseña, ese campo lleva un asterisco (*). En 2016, para corregir el fallo CVE-2016-6210, OpenSSH empezó a calcular un hash aunque la cuenta tuviera *, tomando prestada la «sal» (el prefijo aleatorio del hash) de otra cuenta local, explica BleepingComputer.

El problema surge cuando OpenSSH se compila sin PAM (el sistema modular de autenticación de Linux) sobre musl, la librería estándar de C ligera que usa Alpine en vez de glibc. La función crypt() de musl devuelve * como indicador de error si la entrada supera los 256 bytes. Al comparar ese * de error con el * guardado en la cuenta sin contraseña, el servidor autoriza el acceso.

Ambos proyectos se atribuyen el origen del problema. En las notas de OpenSSH 10.6p2, sus autores sostienen que la causa raíz está fuera de sshd (el servicio de SSH), aunque la evitan en su código. En cambio, Rich Felker, creador de musl, afirmó en la lista de Openwall que no es un fallo de musl, sino un uso erróneo de quien llama a la función, aunque adelantó que prevén cambiar ese mecanismo en un próximo lanzamiento.

Qué sistemas están afectados y cuáles se salvan

Según Alpine, INCIBE y Check Point, un equipo solo está expuesto si reúne estas condiciones a la vez:

  • Ejecuta OpenSSH anterior a 10.6p2 sobre musl sin PAM (el paquete por defecto openssh-server de Alpine, o openssh-server-pam con UsePAM no).
  • Tiene activo el acceso con contraseña (PasswordAuthentication yes, valor por defecto).
  • Cuenta con al menos un usuario con * en su contraseña (cuentas solo con clave SSH, usuarios de directorio vía musl-nscd o el usuario alpine de las imágenes oficiales tiny-cloud de la 3.18.11 a la 3.24.3, que incluye permisos de administrador mediante doas).
  • Existe otra cuenta local activa con contraseña guardada como hash $5$ (SHA-256) o $6$ (SHA-512).

La cuenta root se salva con el ajuste por defecto PermitRootLogin prohibit-password. Tampoco afecta a contenedores Docker sin sshd, cuentas bloqueadas con !, el servidor Dropbear ni distribuciones con glibc como Debian, Ubuntu o Fedora. Kültekin cita también a OpenWrt, Buildroot, Yocto y Void Linux si usan OpenSSH sin PAM, algo aún no confirmado en todos los casos según Ars Technica.

Versiones corregidas y cómo actualizar

Alpine Linux e INCIBE listan los paquetes que corrigen el fallo, incluidas ramas sin soporte activo:

  • Alpine edge: 10.6_p2-r0.
  • Alpine 3.24 (3.24.4): 10.3_p1-r2.
  • Alpine 3.23 (3.23.8): 10.2_p1-r1.
  • Alpine 3.22 (3.22.8): 10.0_p1-r11.
  • Alpine 3.21 (3.21.10): 9.9_p2-r1.
  • Ramas 3.20 a 3.16: 9.7_p1-r6 (3.20), 9.6_p1-r3 (3.19), 9.3_p2-r4 (3.18), 9.1_p1-r7 (3.17) y 9.0_p1-r6 (3.16).

En Alpine hay que actualizar (apk upgrade openssh) y reiniciar el servicio con rc-service sshd restart, porque instalar el paquete no reemplaza el proceso en marcha. Quien no pueda actualizar ya debe verificar que entra con clave SSH, fijar PasswordAuthentication no en /etc/ssh/sshd_config y reiniciar sshd. Alpine aconseja buscar en /var/log/messages líneas Accepted password for en cuentas sin contraseña y tratar el equipo como comprometido si aparece alguna, como en el incidente de la extensión manipulada de Claude Code en Cursor.

Por qué importa

La imagen base de Alpine supera los 1.000 millones de descargas en Docker Hub y se usa en servidores en la nube y dispositivos empotrados, recuerda Ars Technica. Check Point advierte además de que los escáneres por versión pueden fallar porque Alpine conserva números antiguos parcheados (como 10.3_p1-r2), y las herramientas que dependen de listas CVE pueden omitirlo si aún no indexan el código.

El episodio muestra también la prisa que imponen las nuevas herramientas —el mismo día en que OpenAI lanzó GPT-6 Cyber para buscar vulnerabilidades—: según OpenSSH y Check Point, el parche salió un día después del aviso porque los fallos hallados con IA son redescubiertos muy rápido por otros, restando sentido a los embargos largos.

Qué falta por saber

  • Cuántos de los cerca de 22 millones de equipos con SSH abierto en Shodan (según Detectify, citado por Ars Technica) reúnen todas las condiciones para ser vulnerables.
  • Qué configuraciones de Buildroot, Yocto y Void Linux vienen expuestas de serie y en qué versión cambiará musl su función crypt().

Fuentes

  1. Alpine Linux: aviso de seguridad sobre la omisión de autenticación en openssh-server alpinelinux.org Fuente primaria
  2. OpenSSH: notas de lanzamiento de Portable OpenSSH 10.6p2 openssh.org Fuente primaria
  3. INCIBE: omisión de autenticación por contraseña en OpenSSH de Alpine Linux incibe.es Fuente primaria
  4. Openwall (lista de musl): aviso de Rich Felker para usuarios de OpenSSH y musl openwall.com Fuente primaria
  5. Check Point: A Critical SSH Password Bypass Hits musl-Based Linux blog.checkpoint.com Medio
  6. BleepingComputer: OpenSSH flaw lets attackers log into password-disabled Linux accounts bleepingcomputer.com Medio
  7. Ars Technica: Vulnerability allows attackers to log into some Linux devices sans password arstechnica.com Medio
  8. Tom's Hardware: Emergency fixes for OpenSSH and musl-libc issued for millions of systems tomshardware.com Medio
  9. RedesZone: OpenSSH soluciona un fallo crítico en servidores Linux redeszone.net Medio

Sigue leyendo