Atualização do OpenSSL 3.0.1 corrige vulnerabilidade

Versões corretivas da biblioteca criptográfica OpenSSL 3.0.1 e 1.1.1m estão disponíveis. A versão 3.0.1 corrigiu a vulnerabilidade (CVE-2021-4044) e cerca de uma dúzia de bugs foram corrigidos em ambas as versões.

A vulnerabilidade existe na implementação de clientes SSL/TLS e está relacionada ao fato da biblioteca libssl tratar incorretamente códigos de erro negativos retornados pela função X509_verify_cert(), chamada para verificar o certificado passado ao cliente pelo servidor. Códigos negativos são retornados quando ocorrem erros internos, por exemplo, se a memória não puder ser alocada para o buffer. Se tal erro for retornado, chamadas subsequentes para funções de E/S como SSL_connect() e SSL_do_handshake() retornarão falha e um código de erro SSL_ERROR_WANT_RETRY_VERIFY, que só deve ser retornado se o aplicativo tiver feito anteriormente uma chamada para SSL_CTX_set_cert_verify_callback().

Como a maioria dos aplicativos não chama SSL_CTX_set_cert_verify_callback(), a ocorrência de um erro SSL_ERROR_WANT_RETRY_VERIFY pode ser mal interpretada e resultar em travamento, loop ou outra resposta incorreta. O problema é mais perigoso em combinação com outro bug no OpenSSL 3.0, que causa um erro interno ao processar certificados em X509_verify_cert() sem a extensão "Subject Alternative Name", mas com ligações de nome em restrições de uso. Nesse caso, o ataque pode levar a anomalias específicas do aplicativo na manipulação de certificados e no estabelecimento da sessão TLS.

Fonte: opennet.ru

Adicionar um comentário