Vulnerabilidades no FreeBSD, IPnet e Nucleus NET relacionadas a erros na implementação de compactação DNS

Os grupos de pesquisa Forescout Research Labs e JSOF Research publicaram os resultados de um estudo conjunto sobre a segurança de várias implementações do esquema de compactação usado para empacotar nomes duplicados em mensagens DNS, mDNS, DHCP e IPv6 RA (empacotar partes de domínio duplicadas em mensagens que incluem vários nomes). Durante o trabalho, foram identificadas 9 vulnerabilidades, que estão resumidas sob o codinome NAME:WRECK.

Problemas foram identificados no FreeBSD, bem como nos subsistemas de rede IPnet, Nucleus NET e NetX, que se espalharam nos sistemas operacionais de tempo real VxWorks, Nucleus e ThreadX usados ​​em dispositivos de automação, armazenamento, dispositivos médicos, aviônicos, impressoras e eletrônicos de consumo. Estima-se que pelo menos 100 milhões de dispositivos sejam afetados pelas vulnerabilidades.

  • Uma vulnerabilidade no FreeBSD (CVE-2020-7461) tornou possível organizar a execução de seu código enviando um pacote DHCP especialmente projetado para invasores localizados na mesma rede local da vítima, cujo processamento por um cliente DHCP vulnerável levou para um estouro de buffer. O problema foi mitigado pelo fato de que o processo dhclient no qual a vulnerabilidade estava presente estava sendo executado com privilégios de redefinição em um ambiente Capsicum isolado, o que exigia a identificação de outra vulnerabilidade para sair.

    A essência do erro está na verificação incorreta dos parâmetros, no pacote retornado pelo servidor DHCP com opção DHCP 119, que permite transferir a lista de “pesquisa de domínio” para o resolvedor. O cálculo incorreto do tamanho do buffer necessário para acomodar nomes de domínio descompactados levou à gravação de informações controladas pelo invasor além do buffer alocado. No FreeBSD, o problema foi corrigido em setembro do ano passado. O problema só pode ser explorado se você tiver acesso à rede local.

  • Uma vulnerabilidade na pilha de rede IPnet incorporada usada no RTOS VxWorks permite a execução potencial de código no lado do cliente DNS devido ao tratamento inadequado da compactação de mensagens DNS. Acontece que esta vulnerabilidade foi identificada pela primeira vez pelo Exodus em 2016, mas nunca foi corrigida. Uma nova solicitação à Wind River também ficou sem resposta e os dispositivos IPnet permanecem vulneráveis.
  • Foram identificadas seis vulnerabilidades na pilha Nucleus NET TCP/IP, suportada pela Siemens, das quais duas poderiam levar à execução remota de código e quatro poderiam levar à negação de serviço. O primeiro problema perigoso está relacionado a um erro ao descompactar mensagens DNS compactadas, e o segundo está relacionado à análise incorreta de rótulos de nomes de domínio. Ambos os problemas resultam em um buffer overflow ao processar respostas DNS especialmente formatadas.

    Para explorar vulnerabilidades, um invasor precisa simplesmente enviar uma resposta especialmente projetada para qualquer solicitação legítima enviada de um dispositivo vulnerável, por exemplo, conduzindo um ataque MTIM e interferindo no tráfego entre o servidor DNS e a vítima. Se o invasor tiver acesso à rede local, ele poderá iniciar um servidor DNS que tenta atacar dispositivos problemáticos enviando solicitações mDNS em modo de transmissão.

  • A vulnerabilidade na pilha de rede NetX (Azure RTOS NetX), desenvolvida para ThreadX RTOS e inaugurada em 2019 após ser assumida pela Microsoft, limitava-se à negação de serviço. O problema é causado por um erro na análise de mensagens DNS compactadas na implementação do resolvedor.

Das pilhas de redes testadas nas quais não foram encontradas vulnerabilidades relacionadas à compressão de dados repetidos em mensagens DNS, foram nomeados os seguintes projetos: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP , OpenThread e FNET. Além disso, os dois primeiros (Nut/Net e lwIP) não suportam de forma alguma compressão em mensagens DNS, enquanto os outros implementam esta operação sem erros. Além disso, nota-se que anteriormente os mesmos pesquisadores já haviam identificado vulnerabilidades semelhantes nas pilhas Treck, uIP e PicoTCP.

Fonte: opennet.ru

Adicionar um comentário