Se descubrió una falla de seguridad grave (CVE-2024-31497) en el popular cliente SSH PuTTY (versiones 0.68 a 0.80), que afecta a una amplia gama de software, incluidos FileZilla, WinSCP, TortoiseGit y TortoiseSVN.
La vulnerabilidad radica en cómo PuTTY genera valores aleatorios (nonces) utilizados dentro del proceso de firma ECDSA. En la configuración NIST P-251, la aleatoriedad está muy sesgada. Los atacantes pueden aprovechar este sesgo para reconstruir la clave privada después de recopilar solo unas 60 firmas creadas con la clave comprometida.
![](https://cdn-0.securityonline.info/ezoimgfmt/b3442631.smushcdn.com/3442631/wp-content/uploads/2024/04/PuTTY.png?lossy=1&strip=1&webp=1&ezimgfmt=ngcb1/notWebP)
¿Quién está en riesgo?
Cualquiera que utilice las versiones afectadas de PuTTY o productos relacionados como Filezilla para la autenticación SSH con claves ECDSA NIST P-521 es vulnerable. Los atacantes pueden obtener las firmas necesarias comprometiendo brevemente un servidor SSH al que se conecta o potencialmente desde fuentes públicas donde haya utilizado la clave (como confirmaciones de GIT firmadas).
Esta vulnerabilidad no sólo afecta a los usuarios de PuTTY sino que también se extiende a otras herramientas:
- FileZilla (Versiones 3.24.1 – 3.66.5)
- WinSCP (Versiones 5.9.5 – 6.3.2)
- TortoiseGit (Versiones 2.4.0.2 – 2.15.0)
- TortoiseSVN (Versiones 1.10.0 – 1.14.6)
Una clave privada comprometida es desastrosa. Los atacantes pueden hacerse pasar por el usuario y potencialmente obtener acceso a cualquier servidor donde utilice esa clave para la autenticación. El daño persiste incluso después de que se parchea la vulnerabilidad: las claves previamente expuestas quedan comprometidas permanentemente.
Qué se debe hacer
- Identificar claves vulnerables: comprobar si se utiliza claves ECDSA NIST P-521. En PuTTYgen, la huella digital comienza con "ecdsa-sha2-nistp521".
- Revocar claves comprometidas: eliminar las claves públicas comprometidas de todos los archivos de authorized_keys en los servidores y cualquier servicio en línea donde se utilicen (como GitHub).
- Generar nuevas claves: crear nuevos pares de claves (idealmente usando Ed25519, que no se vea afectado) para reemplazar las comprometidas.
- Actualizar su software: actualizar PuTTY inmediatamente a la versión 0.81 o posterior. Hacer lo mismo con FileZilla (versión 3.67.0), WinSCP (versión 6.3.3), TortoiseGit (versión 2.15.0.1) y TortoiseSVN. Si no puede actualizar TortoiseSVN, cambiar y utilizar PuTTY Plink actualizado para conexiones SSH.
Notas adicionales
Esta falla NO expone firmas mediante espionaje pasivo de la red. Un atacante necesita control activo de un servidor o acceso a sus datos firmados.
Otros tamaños de claves ECDSA muestran un ligero sesgo pero no son prácticamente explotables en este momento.
Fuente: SecurityOnline