A actualización de OpenSSL 3.0.1 corrixe a vulnerabilidade

Están dispoñibles versións correctivas da biblioteca criptográfica OpenSSL 3.0.1 e 1.1.1m. A versión 3.0.1 solucionou a vulnerabilidade (CVE-2021-4044) e solucionáronse preto dunha ducia de erros en ambas as versións.

A vulnerabilidade existe na implementación de clientes SSL/TLS e está relacionada co feito de que a biblioteca libssl manexa incorrectamente os códigos de erro negativos devoltos pola función X509_verify_cert(), que se chama para verificar o certificado pasado ao cliente polo servidor. Os códigos negativos devólvense cando se producen erros internos, por exemplo, se non se pode asignar memoria para o búfer. Se se devolve tal erro, as chamadas posteriores a funcións de E/S como SSL_connect() e SSL_do_handshake() devolverán un erro e un código de erro SSL_ERROR_WANT_RETRY_VERIFY, que só debería devolverse se a aplicación chamou previamente a SSL_CTX_set_cert_verify_callback().

Dado que a maioría das aplicacións non chaman a SSL_CTX_set_cert_verify_callback(), a aparición dun erro SSL_ERROR_WANT_RETRY_VERIFY pódese malinterpretar e producir un fallo, un bucle ou outro comportamento incorrecto. O problema é máis perigoso en combinación con outro erro en OpenSSL 3.0, que provoca un erro interno ao procesar certificados en X509_verify_cert() sen a extensión "Nome alternativo do asunto", pero con enlaces de nome nas restricións de uso. Neste caso, o ataque pode provocar anomalías específicas da aplicación no manexo de certificados e no establecemento da sesión TLS.

Fonte: opennet.ru

Engadir un comentario