Nueva vulnerabilidad en PuTTY expone claves privadas
Nueva vulnerabilidad en PuTTY expone claves privadas

Nueva vulnerabilidad en PuTTY expone claves privadas

Se ha identificado una falla de seguridad crítica (CVE-2024-31497) en el cliente SSH PuTTY, afectando a las versiones desde la 0.68 hasta la 0.80. Esta vulnerabilidad también impacta a otros programas como FileZilla, WinSCP, TortoiseGit y TortoiseSVN.

La falla se debe a cómo PuTTY genera valores aleatorios (nonces) durante el proceso de firma ECDSA. En la configuración NIST P-251, la generación de estos valores es muy sesgada. Los atacantes pueden aprovechar este sesgo para reconstruir la clave privada tras recopilar solo 60 firmas creadas con dicha clave.

¿Quién está en riesgo?

Cualquier usuario que emplee las versiones afectadas de PuTTY o herramientas relacionadas como FileZilla para la autenticación SSH mediante 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 solo afecta a los usuarios de PuTTY, sino también 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 muy peligrosa. Los atacantes pueden hacerse pasar por el usuario y potencialmente obtener acceso a cualquier servidor donde se utilice esa clave para la autenticación. El daño persiste incluso después de que se parchee 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 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.