Pular para o conteúdo
Bruno Alexandre Tecnologia, infraestrutura e desenvolvimento

OpenSSL e o bug do Punycode: um erro de processamento que quebrava a validação de nome de domínio

Em 2022, uma falha na biblioteca OpenSSL quebrava a comparação de nomes de domínio e afetava a validação de certificados, afetando a segurança de conexões HTTPS.

Bruno Alexandre 13/08/2026 4 leituras
OpenSSL e o bug do Punycode: um erro de processamento que quebrava a validação de nome de domínio
Em outubro de 2022, a OpenSSL corrigiu a CVE-2022-3602, conhecida como X.509 Name Constraints, e a CVE-2022-3786, o bug do Punycode. A primeira afetava a validação de certificados com restrições de nome, e podia permitir que um certificado válido para um domínio fosse aceito em outro.

A segunda é mais sutil e mais interessante. A função que converte nomes de domínio para sua forma internacionalizada, o Punycode, tinha um erro de processamento que fazia strings com caracteres de controle serem convertidas de maneira incorreta. O resultado é que a comparação entre o nome presented no certificado e o nome que o cliente pedia podia falhar, e a validação de identidade do servidor passava a aceitar nomes que não eram o esperado.

O caso é interessante porque o vetor de ataque não é o atacante: é o próprio usuário legítimo, com um nome de domínio que contém caracteres estranhos, que passa a ter a conexão negada ou, pior, a ser aceita com a identidade trocada. Vulnerabilidades de validação de entrada têm esse efeito perverso de punir o inocente, e o tratamento correto é o mesmo de sempre: entrada não confiável precisa ser normalizada antes de ser comparada, e a biblioteca que faz essa normalização também precisa de atualização.

A lição prática é que a correção de biblioteca crítica precisa ser imediata, mesmo quando o efeito é de indisponibilidade para o usuário legítimo. E que o nome de domínio é um dado hostile: ele vem de fora, é controlado por quem registrou o domínio, e por isso precisa ser tratado como entrada, e não como referência confiável.

Leia também