L'aggiornamento OpenSSL 3.0.1 corregge la vulnerabilità

Sono disponibili versioni correttive della libreria crittografica OpenSSL 3.0.1 e 1.1.1m. La versione 3.0.1 ha risolto la vulnerabilità (CVE-2021-4044) e circa una dozzina di bug sono stati corretti in entrambe le versioni.

La vulnerabilità esiste nell'implementazione dei client SSL/TLS ed è correlata al fatto che la libreria libssl gestisce in modo errato i codici di errore negativi restituiti dalla funzione X509_verify_cert(), chiamata per verificare il certificato passato al client dal server. I codici negativi vengono restituiti quando si verificano errori interni, ad esempio se non è possibile allocare memoria per il buffer. Se viene restituito un errore di questo tipo, le chiamate successive alle funzioni di I/O come SSL_connect() e SSL_do_handshake() restituiranno un errore e un codice di errore SSL_ERROR_WANT_RETRY_VERIFY, che dovrebbe essere restituito solo se l'applicazione ha precedentemente effettuato una chiamata a SSL_CTX_set_cert_verify_callback().

Poiché la maggior parte delle applicazioni non chiama SSL_CTX_set_cert_verify_callback(), il verificarsi di un errore SSL_ERROR_WANT_RETRY_VERIFY può essere interpretato erroneamente e provocare un arresto anomalo, un loop o un'altra risposta errata. Il problema è più pericoloso in combinazione con un altro bug in OpenSSL 3.0, che causa un errore interno durante l'elaborazione dei certificati in X509_verify_cert() senza l'estensione "Subject Alternative Name", ma con associazioni di nomi nelle restrizioni di utilizzo. In questo caso, l'attacco può portare ad anomalie specifiche dell'applicazione nella gestione dei certificati e nella creazione della sessione TLS.

Fonte: opennet.ru

Aggiungi un commento