Katalog CVE

CVE-2026-16516

KrytyczneCVSS 9.0
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

wolfSSH nie weryfikuje, czy identyfikator krzywej ECDSA w bloku klucza hosta KEXDH_REPLY odpowiada algorytmowi uzgodnionemu podczas wymiany kluczy. Aktywny atakujący typu man-in-the-middle może podstawić blok klucza hosta z inną krzywą ECDSA, co powoduje zaimportowanie klucza na niewłaściwej krzywej, a ponieważ atakujący kontroluje klucz prywatny dla podstawionej krzywej, weryfikacja podpisu przechodzi.

Ocena ryzyka

Atakujący w pozycji man-in-the-middle może podszyć się pod serwer i przechwycić lub modyfikować ruch, co może prowadzić do naruszenia poufności i integralności danych.

Rekomendacja

Zaktualizuj wolfSSH do wersji zawierającej poprawkę oraz upewnij się, że funkcja sprawdzania klucza publicznego dokładnie weryfikuje krzywą ECDSA.

Inne podatności w wolfSSH

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

wolfSSH does not validate that the ECDSA curve identifier in a KEXDH_REPLY host key blob matches the algorithm negotiated during key exchange. In ParseECCPubKey() (src/internal.c), the blob's algorithm string is used to derive the curve via NameToId/wcPrimeForId without checking against the negotiated ssh->handshake->pubKeyId, and the RFC 5656 curve identifier string is discarded via GetSkip() rather than compared. An active network man-in-the-middle attacker can substitute a host key blob containing a different ECDSA curve, causing the client to import the key on the wrong curve. Because the attacker controls the private key for the substituted curve, signature verification passes. Exploitation requires an active MitM position and a lax public key check callback (e.g., TOFU, algorithm-name-only check, or fingerprint match against the parsed key).

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS