Vulnerabilità di overflow del buffer in libssh

È stata identificata una vulnerabilità (CVE-2-2) nella libreria libssh (da non confondere con libssh2021), progettata per aggiungere il supporto client e server per il protocollo SSHv3634 ai programmi C, portando a un buffer overflow all'avvio del processo di rekey utilizzando lo scambio di chiavi che utilizza un algoritmo di hashing diverso. Il problema è stato risolto nella versione 0.9.6.

L'essenza del problema è che l'operazione di modifica della chiave consente l'uso di hash crittografici con una dimensione cast diversa dall'algoritmo utilizzato originariamente. In questo caso, la memoria per l'hash in libssh è stata allocata in base alla dimensione dell'hash originale e l'utilizzo di una dimensione dell'hash maggiore comporta la sovrascrittura dei dati oltre il limite del buffer allocato. Come metodo di sicurezza di fallback, puoi limitare l'elenco dei metodi di scambio di chiavi supportati solo agli algoritmi con la stessa dimensione hash. Ad esempio, per eseguire l'associazione a SHA256, è possibile aggiungere al codice: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nistp256");

Fonte: opennet.ru

Aggiungi un commento