Después de tres meses de desarrollo, se ha publicado la versión OpenSSH 10.4, una implementación de código abierto del cliente y servidor para trabajar con los protocolos SSH 2.0 y SFTP. Cambios principales:
- Se ha añadido soporte experimental para el esquema combinado de generación de firmas digitales «mldsa44-ed25519», que combina el algoritmo postcuántico ML-DSA 44 y el algoritmo basado en curvas elípticas Ed25519. Para habilitar el soporte, se debe agregar «mldsa44-ed25519» a las directivas HostKeyAlgorithms y PubkeyAcceptedAlgorithms. Para generar claves, se puede usar el comando «ssh-keygen -t mldsa44-ed25519».
- En ssh y sshd se ha implementado un nuevo sistema de coincidencia por patrones basado en un autómata final no determinista, que no sufre del problema de crecimiento exponencial en la complejidad de los cálculos al utilizar máscaras con muchos caracteres «*».
- Se ha cambiado el comportamiento de las compilaciones de sshd en Linux con filtrado de llamadas del sistema habilitado por seccomp. Anteriormente, un fallo al activar SECCOMP o NO_NEW_PRIVS en sistemas Linux que no lo soportan resultaba en una advertencia en el registro y continuaba funcionando sin aislamiento, pero ahora causará un cierre inesperado.
- Al utilizar la opción «sshd -G», en el volcado de configuración, las directivas ahora se registran utilizando letras mayúsculas y minúsculas, en lugar de solo letras minúsculas (es decir, «PubkeyAuthentication» en lugar de «pubkeyauthentication»).
- El comportamiento de ssh y sshd se ha alineado con el estándar RFC 4253: el envío de mensajes no relacionados con el intercambio de claves durante el reintercambio de claves ahora resultará en el cierre de la conexión. Anteriormente, los atacantes podían llevar a cabo un ataque DoS enviando indefinidamente mensajes externos durante el proceso de intercambio de claves, los cuales se almacenaban en el servidor y consumían memoria.
Se han corregido varios problemas de seguridad:
- En la utilidad ssh se ha eliminado un posible acceso a memoria después de su liberación (use-after-free) al acceder a un daño servidor. El problema se explota mediante el cambio de la clave del host durante el reintercambio de claves.
- Vulnerabilidad en sftp que permite realizar la carga de un archivo en otro directorio al acceder a un servidor malicioso utilizando un comando en la forma «sftp host:/path .».
- Vulnerabilidad en scp que permite al copiar archivos entre dos externos servidores, uno de los cuales está bajo el control del atacante, organizar la grabación de archivos en el directorio principal, que se encuentra un nivel por debajo del directorio objetivo.
- Se ha solucionado un problema en sshd que se manifestaba al usar la implementación interna del servidor SFTP ("internal-sftp"), que está desactivada por defecto. El problema estaba relacionado con el corte de largas secuencias en la línea de comandos después del noveno argumento, lo que provocaba la eliminación de los argumentos siguientes. Por lo tanto, se podrían omitir potencialmente opciones relacionadas con la seguridad.
- Se ha corregido un defecto en sshd que hacía que la directiva "DisableForwarding=yes" no desactivara la posibilidad de crear túneles permitidos por la opción "PermitTunnel=yes" (que no está habilitada por defecto).
- En sshd se ha solucionado un problema que se podía utilizar para iniciar un ataque de denegación de servicio en la etapa previa a la autenticación cuando se habilitaba la directiva GSSAPIAuthentication (que está desactivada por defecto). El problema no se bloquea mediante el límite "MaxAuthTries", pero queda sujeto a la limitación de "PerSourcePenalties".
- En sshd se han corregido defectos que impedían que siempre se añadiera un retraso mínimo entre los intentos de autenticación.
Fuente: opennet.ru
