Eles detectaram uma vulnerabilidade nas bibliotecas uClibc e uClibc-ng que afeta o firmware do Linux 

Há poucos dias foi divulgada a notícia de que nas bibliotecas padrão C uClibc e uClibc-ng, usado em muitos dispositivos embarcados e portáteis, uma vulnerabilidade foi identificada (com CVE ainda não atribuído), que permite a substituição de dados fictícios no cache DNS, que podem ser usados ​​para falsificar o endereço IP de um domínio arbitrário no cache e redirecionar solicitações do domínio para o servidor do invasor.

Sobre o problema é mencionado que este afeta vários firmwares Linux para roteadores, pontos de acesso e dispositivos IoT, assim como distribuições Linux embarcadas como OpenWRT e Embedded Gentoo.

Sobre vulnerabilidade

Vulnerabilidade é devido ao uso de identificadores de transação previsíveis no código para enviar consultas de DNS. O ID de consulta DNS foi escolhido simplesmente incrementando o contador sem randomização adicional dos números de porta, o que tornou possível envenenar o cache DNS enviando antecipadamente pacotes UDP com respostas falsas (a resposta será aceita se chegar antes da resposta do servidor real e incluir a identificação correta).

Ao contrário do método Kaminsky proposto em 2008, nem é necessário adivinhar o ID da transação, pois ele é inicialmente previsível (inicialmente, é definido como 1, que aumenta a cada solicitação, e não é selecionado aleatoriamente).

Para se proteger contra a adivinhação de ID, a especificação recomenda ainda o uso de uma distribuição aleatória de números de porta de rede de origem de onde são enviadas as consultas DNS, o que compensa o tamanho insuficiente do ID.

Quando a randomização de portas está habilitada, para formar uma resposta fictícia, além de selecionar um identificador de 16 bits, também é necessário selecionar o número da porta da rede. No uClibc e no uClibc-ng, tal randomização não era explicitamente habilitada (quando o bind era chamado, uma porta UDP de origem aleatória não era especificada) e sua implementação dependia da configuração do sistema operacional.

Quando a randomização de portas está desabilitada, determinar qual ID de solicitação incrementar é marcado como uma tarefa trivial. Mas mesmo no caso de randomização, o invasor só precisa adivinhar a porta de rede no intervalo 32768-60999, para a qual ele pode usar o envio simultâneo massivo de respostas fictícias em diferentes portas de rede.

O problema foi confirmado em todas as versões atuais do uClibc e uClibc-ng, incluindo as versões mais recentes do uClibc 0.9.33.2 e uClibc-ng 1.0.40.

“É importante notar que uma vulnerabilidade que afeta uma biblioteca C padrão pode ser bastante complexa”, escreveu a equipe em um post no blog esta semana.

"Não apenas haveria centenas ou milhares de chamadas para a função vulnerável em vários pontos em um único programa, mas a vulnerabilidade afetaria um número indefinido de outros programas de vários fornecedores configurados para usar essa biblioteca".

Em setembro de 2021, foram enviadas informações sobre a vulnerabilidade ao CERT/CC para preparação coordenada da matriz. Em janeiro de 2022, o problema foi compartilhado com mais de 200 fabricantes associado ao CERT/CC.

Em março, houve uma tentativa de contatar separadamente o mantenedor do projeto uClibc-ng, mas ele respondeu que não poderia corrigir a vulnerabilidade sozinho e recomendou a divulgação pública de informações sobre o problema, na esperança de obter ajuda para desenvolver uma correção. a comunidade. Dos fabricantes, a NETGEAR anunciou o lançamento de uma atualização com a remoção da vulnerabilidade.

É importante observar que uma vulnerabilidade que afeta uma biblioteca C padrão pode ser bastante complexa. Não apenas haveria centenas ou milhares de chamadas para a função vulnerável em vários pontos em um único programa, mas a vulnerabilidade afetaria um número indefinido de outros programas de vários fornecedores configurados para usar essa biblioteca.

Note-se que a vulnerabilidade se manifesta em dispositivos de vários fabricantes (por exemplo, uClibc é usado em firmware da Linksys, Netgear e Axis), mas como a vulnerabilidade permanece sem correção em uClibc e uClibc-ng, informações detalhadas sobre dispositivos e fabricantes em cujos produtos há um problema, até que sejam divulgados.

Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.