Pesquisadores das empresas Claroty e JFrog divulgaram os resultados da auditoria de segurança do pacote BusyBox, amplamente utilizado em dispositivos incorporados e que oferece um conjunto de utilitários UNIX padronizados, apresentados como um único arquivo executável. A verificação revelou 14 vulnerabilidades, que já foram corrigidas na versão de agosto do BusyBox 1.34. Quase todos os problemas são inofensivos e questionáveis em termos de aplicação em ataques reais, pois exigem a execução de utilitários com argumentos fornecidos externamente.
Destaca-se a vulnerabilidade CVE-2021-42374, que permite causar uma interrupção no serviço ao processar um arquivo compactado especialmente formatado pela utilidade unlzma, e, no caso de compilação com a opção CONFIG_FEATURE_SEAMLESS_LZMA, também por outros componentes do BusyBox, incluindo tar, unzip, rpm, dpkg, lzma e man.
As vulnerabilidades CVE-2021-42373, CVE-2021-42375, CVE-2021-42376 e CVE-2021-42377 permitem causar uma interrupção no serviço, mas requerem que as utilitários man, ash e hush sejam executados com parâmetros fornecidos pelo atacante. As vulnerabilidades de CVE-2021-42378 a CVE-2021-42386 afetaram a utilidade awk e podem potencialmente levar à execução de código, mas para isso o atacante precisa fazer com que um certo padrão seja executado no awk (é necessário executar awk passando dados recebidos do atacante como o primeiro argumento da linha de comando).
Além disso, também se pode mencionar a vulnerabilidade (CVE-2021-43523) nas bibliotecas uclibc e uclibc-ng, relacionada ao fato de que ao acessar as funções gethostbyname(), getaddrinfo(), gethostbyaddr() e getnameinfo() não ocorre a verificação e limpeza do nome de domínio retornado pelo servidor DNS. Por exemplo, em resposta a uma determinada solicitação de resolução, um servidor DNS controlado por um atacante pode retornar hosts do tipo ".attacker.com" e eles serão retornados em forma inalterada para algum programa, que sem limpeza pode exibi-los em sua interface web. O problema foi corrigido na versão 1.0.39 do uclibc-ng através da adição de código para validar a integridade dos dados retornados. domínios, implementada de forma semelhante ao Glibc.
Fonte: opennet.ru
