Consequências de segurança da desativação de CURLOPT_SSL_VERIFYHOST (libcurl / openssl)

Quais são as consequências de segurança de Ativar CURLOPT_SSL_VERIFYPEER e Desativar CURLOPT_SSL_VERIFYHOST ?

    • CURLOPT_SSL_VERIFYPEER verifica se o certificado remoto é válido, isto é, se você confia que foi emitido por uma CA em quem você confia e se é genuíno.

    • CURLOPT_SSL_VERIFYHOST verifica se o certificado foi emitido para a entidade com a qual você deseja conversar.

    Para comparar com um cenário da vida real, VERIFYPEER é como verificar se a forma de identificação é aquela que você reconhece (ou seja, passaporte de um país em que você confia, cartão de equipe de uma empresa que você conhece, …). VERIFYHOST é como verificar o nome real nas correspondências do cartão com quem você queria conversar.

    Se você não usa VERIFYHOST (o valor correto é 2, não 1, btw), você desativa a verificação do nome do host e abre a porta para ataques MITM: qualquer pessoa com um ID que você confia pode se passar por alguém dentro do conjunto de IDs que você confiança, por exemplo, qualquer pessoa com um passaporte válido pode fingir que é alguém com um passaporte válido.