Falha de segurança no serviço named/BIND9

O CERT.Bahia gostaria de alertar a todos sobre uma importante falha de segurança no servidor ISC BIND, uma implementação do protocolo DNS, que pode resultar em crash do processo “named” (BIND 9 DNS), indisponibilizando o serviço de resolução de nomes.

Sistemas afetados

Esta vulnerabilidade afeta as seguintes versões do BIND ISC (verões do upstream): 9.4-ESV-R3 e anteriores, 9.6-ESV-R2 e anteriores, 9.6.3, 9.7.1 e anteriores, 9.8.0 e anteriores.

Configura junto à sua distribuição qual versão está vulnerável.

Descrição

O serviço DNS utiliza a técnica de cache negativo (negative caching) para melhorar o tempo de resposta das consultas DNS, salvaguardando o DNS resolver de repetidamente consultar domínios que não existem. Em outras palavras, as respostas do tipo NXDOMAIN ou NODATA/NOERROR são armazenadas no cache negativo.

Os dados autoritativos (SOA e NSEC/NSEC3, garantias da não existência) são armazenados em cache juntamente com os dados do cache negativo. Com DNSSEC, todos esses registros são assinados, o que implica no armazenamento adicional de um registro RRSIG, para cada DNSKEY, para cada registro contido na sessão autoritativa da resposta DNS.

Nesta vulnerabilidade, RRSIGs muitos extensos incluídos na resposta de cache negativo, podem causar uma falha ou crash do processo named, devido à um erro de verificação no tamanho de buffer.

Vale ressaltar que apesar da relação com DNSSEC, DNSSEC não precisa estar habilitado no resolver para que ele esteja vulnerável.

Impacto

Esta vulnerabilidade pode ser explorada remotamente, onde o atacante acessa o “caching resolver”. Este acesso pode ser direto (open resolvers), através de um malware em uma máquina cliente (que consulta domínios nos quais os servidores foram maliciosamente configurados para enviar respostas específicas que exploram essa vulnerabilidade), ou através de uma “consulta DNS conduzida” (e.g. uma conexão SSH a partir de um IP cuja resolução do DNS reverso possui uma resposta especialmente construída para explorar essa vulnerabilidade).

Correções disponíveis

Recomenda-se a atualização do BIND9 para as seguintes versões:

  • Versões do upstream: 9.4-ESV-AR4-P1, 9.6-ESV-R4-P1, 9.7.3-P1, 9.8.0-P2 ou superiores.
  • Versões do Debian:
    • Para distribuição oldstable (lenny): 1:9.6.ESV.R4+dfsg-0+lenny2
    • Para distribuição stable (squeeze/lenny-backports): 1:9.7.3.dfsg-1~squeeze2

Para outras distribuições, consulte o respectivo responsável pela segurança.

Referências