Mais de 50.000 servidores Tinyproxy estão vulneráveis a falhas críticas de RCE
Quase 52.000 instâncias do Tinyproxy expostas à Internet são vulneráveis ao CVE-2023-49606, uma falha crítica de execução remota de código (RCE) divulgada recentemente.
Tinyproxy é um servidor proxy HTTP e HTTPS de código aberto projetado para ser rápido, pequeno e leve. Ele é adaptado especificamente para sistemas operacionais do tipo UNIX e é comumente usado por pequenas empresas, provedores públicos de WiFi e usuários domésticos.
No início do mês, Cisco Talos divulgou CVE-2023-49606, uma falha crítica (CVSS v3: 9.8) de uso após livre que os pesquisadores descobriram em dezembro de 2023, impactando as versões 1.11.1 (mais recente) e 1.10.0, depois de alegar não ter recebido uma resposta dos desenvolvedores.
O relatório da Cisco compartilhou informações detalhadas sobre a vulnerabilidade, incluindo explorações de prova de conceito que travaram o servidor e poderiam levar à execução remota de código.
Os pesquisadores do Talos explicaram no relatório que a falha ocorre na função ‘remove_connection_headers()’, onde cabeçalhos HTTP específicos (Connection e Proxy-Connection) não são gerenciados corretamente, fazendo com que a memória seja liberada e acessada incorretamente novamente.
Isso pode ser facilmente explorado com uma simples solicitação HTTP malformada (por exemplo, Conexão: Conexão) sem exigir autenticação.
A Cisco alertou na época que, apesar de seus esforços para alertar os desenvolvedores do Tinyproxy sobre a falha crítica, não recebeu resposta e nenhum patch estava disponível para download pelos usuários.
No sábado, a Censys relatou ter visto 90.000 serviços Tinyproxy expostos à Internet online, dos quais cerca de 57% eram vulneráveis ao CVE-2023-49606.
Especificamente, o Censys encontrou 18.372 instâncias executando a versão vulnerável 1.11.1 e outras 1.390 executando a 1.10.0.
A maioria desses casos está localizada nos Estados Unidos (11.946), seguidos pela Coreia do Sul (3.732), China (675), França (300) e Alemanha (150).
Falha corrigida
No domingo, cinco dias após a Cisco divulgar o bug, os mantenedores do Tinyproxy lançaram uma correção para CVE-2023-49606, que ajusta o gerenciamento de memória conforme necessário para evitar a exploração.
No entanto, o mantenedor do Tinyproxy contestou que a Cisco divulgou adequadamente o bug, afirmando que nunca recebeu o relatório através dos canais de divulgação solicitados pelo projeto.
“Um pesquisador de segurança da TALOS Intelligence encontrou uma vulnerabilidade de uso após livre no tinyproxy em dezembro de 2023, alegando ter entrado em contato com o upstream e esperado 6 meses pela publicação”, observaram os desenvolvedores no GitHub
“O que quer que ele tenha feito para entrar em contato com o upstream, não foi eficaz e não foi o que foi descrito na página inicial do tinyproxy nem no README.md.”
“Ele certamente não se esforçou para encontrar um contato responsivo e provavelmente retirou um endereço de e-mail aleatório do log do git e enviou um e-mail para lá. A vulnerabilidade foi tornada pública em 01 de maio de 2024 e demorou 5 dias inteiros até eu foi notificado no IRC por um mantenedor de pacotes de distribuição.”
O commit ( 12a8484 ) contendo a correção de segurança está na próxima versão 1.11.2, mas pessoas com necessidade urgente podem extrair a alteração do branch master ou aplicar manualmente a correção destacada.
“Este é um bug bastante desagradável e pode levar ao RCE – embora eu ainda não tenha visto uma exploração funcional”, continuaram os mantenedores do Tinyproxy.
“O que certamente permite é um ataque DOS no servidor se o tinyproxy estiver usando musl libc 1.2+ – cujo alocador de memória reforçado detecta automaticamente o UAF, ou construído com um sanitizador de endereço.”
Os desenvolvedores também observaram que o código atualizado só é acionado após passar nas verificações de autenticação e lista de acesso, o que significa que a vulnerabilidade pode não afetar todas as configurações, especialmente aquelas em ambientes controlados, como redes corporativas ou aquelas que usam autenticação básica com senhas seguras.