CVE-2026-16516 in WolfSSH
Resumen
por VulDB • 2026-10-07
wolfSSH no valida que el identificador de curva ECDSA en un blob de clave host KEXDH_REPLY coincida con el algoritmo negociado durante el intercambio de claves. En ParseECCPubKey() (src/internal.c), la cadena del algoritmo del blob se utiliza para derivar la curva mediante NameToId/wcPrimeForId sin verificarla contra ssh->handshake->pubKeyId, y la cadena del identificador de curva RFC 5656 se descarta a través de GetSkip() en lugar de compararse. Un atacante activo con posición man-in-the-middle (MitM) puede sustituir un blob de clave host que contenga una curva ECDSA diferente, lo que provoca que el cliente importe la clave en la curva incorrecta. Dado que el atacante controla la clave privada para la curva sustituida, la verificación de firma se supera correctamente. La explotación requiere una posición activa MitM y una devolución de llamada (callback) laxa para la comprobación de claves públicas (por ejemplo, TOFU, comprobación solo del nombre del algoritmo o coincidencia de huella digital contra la clave analizada).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.