Curl 8.4.0 lançado para corrigir grave vulnerabilidade de segurança
13 de Outubro de 2023

O curl 8.4.0 foi lançado para corrigir e divulgar detalhes sobre uma vulnerabilidade de segurança de alta gravidade muito comentada ( CVE-2023-38545 ), aliviando preocupações duradouras sobre a gravidade da falha.

O curl é uma ferramenta de linha de comando que permite transferir dados por meio de vários protocolos, sendo mais comumente usada para se conectar a sites.

Uma biblioteca associada libcurl permite que os desenvolvedores incorporem o curl em suas aplicações para suporte fácil de transferência de arquivos.

No dia 4 de outubro, o desenvolvedor do curl, Daniel Stenberg, alertou que o ciclo de desenvolvimento para o curl 8.4.0 seria encurtado, e a nova versão seria lançada no dia 11 de outubro para resolver uma vulnerabilidade, advertindo que é a pior falha de segurança do curl vista em muito tempo.

"Estamos encurtando o ciclo de lançamento e vamos lançar o curl 8.4.0 no dia 11 de outubro, incluindo correções para uma gravidade alta CVE e uma gravidade baixa", explicou Stenberg.

"A classificada como alta é provavelmente a pior falha de segurança do curl em muito tempo."

Como o curl e o libcurl são amplamente usados em muitas bibliotecas e aplicações e são incluídos em quase todos os sistemas operacionais, esse anúncio resultou em muitos artigos e posts em redes sociais sobre a preocupação de que teria um impacto amplo e colocaria muitos dispositivos em risco.

Na quarta-feira, Stenberg lançou o curl 8.4.0 com correções para duas vulnerabilidades de segurança: um bug de estouro de buffer de heap de alta gravidade ( CVE-2023-38545 ) e uma falha de injeção de cookie de baixa gravidade ( CVE-2023-38546 ).

A falha que Stenberg deu um aviso prévio é o estouro de buffer do heap de alta gravidade na implementação do protocolo de proxy SOCKS5 do curl.

"Em associação com o lançamento do curl 8.4.0, publicamos um aviso de segurança e todos os detalhes para CVE-2023-38545 ", explicou Stenberg.

"Este problema é o pior problema de segurança encontrado no curl em muito tempo.

Nós o classificamos como gravidade ALTA."

Um bug de estouro de buffer de heap ocorre quando um programa permite erroneamente que mais dados sejam escritos em uma região de memória alocada do que ela pode conter.

Isso faz com que os dados inseridos sobrescrevam outras regiões de memória e corrompam dados, levando a falhas no aplicativo e, potencialmente, a execução de código remoto.

Embora a falha tenha o potencial de afetar os usuários do curl, os requisitos para explorar a vulnerabilidade a tornam muito menos perigosa do que inicialmente se esperava, pois exige que o cliente curl seja configurado para usar um proxy SOCKS5 ao fazer conexões com um site remoto e que redirecionamentos automáticos estejam ativados.

Além disso, também há uma exigência de tempo para explorar com sucesso a falha, exigindo uma conexão SOCKS5 lenta com o site remoto.

"Se o Curl não consegue resolver o endereço por si mesmo, ele passa o nome do host para o proxy SOCKS5.

No entanto, o comprimento máximo do nome do host que pode ser passado é de 255 bytes", explica um aviso da RedHat sobre a falha.

"Se o nome do host for mais longo, o Curl muda para a resolução de nomes local e passa apenas o endereço resolvido para o proxy."

"A variável local que instrui o Curl a 'deixar o host resolver o nome' poderia obter o valor errado durante um aperto de mão SOCKS5 lento, resultando no nome do host muito longo sendo copiado para o buffer de destino em vez do endereço resolvido, o que não era o comportamento pretendido."

Para explorar essa falha, um invasor poderia criar um site que redireciona um visitante para um nome de host muito longo (pense em milhares de caracteres), o que faria os dados inseridos acionar o bug de estouro de buffer do heap e travar o programa.

Embora seja bastante fácil de explorar, os pesquisadores informaram ao BleepingComputer que as provas de conceito existentes apenas fazem o curl travar, levando a um ataque de negação de serviço em vez de à execução de código.

Além disso, como a maioria das pessoas que usam curl não estão se conectando por meio de SOCKS5, o bug não as afetaria.

Um grupo de pessoas que a vulnerabilidade CVE-2023-38545 pode ser útil para atingir é o de pesquisadores e desenvolvedores de segurança cibernética.

O co-fundador da Hacker House e pesquisador de segurança, Matthew Hickey (também conhecido como hackerfantastic), disse ao BleepingComputer que é comum adotar proxies SOCKS5 para requisitar APIs.

"Exige o uso de um proxy socks5 ativado pelo usuário do curl, isso é bastante comum quando as pessoas solicitam APIs para testes de segurança, depuração ou outros trabalhos técnicos - também é comum ao sondar serviços da Tor usando ferramentas como o curl, pois geralmente é necessário um proxy socks5 para realizar a solicitação", disse Hickey ao BleepingComputer em uma conversa.

"Da mesma forma, o requisito de caracteres ruins não é muito problemático, já que a vulnerabilidade pode ser acionada por uma resposta HTTP 302, o que significa que o invasor está totalmente no controle dos caracteres que fornece e não precisa ser tão habilidoso ou inteligente com a entrega como outros sugerem."

Embora Hickey acredite que este seja um bug complexo que exigirá tempo e esforço para ser devidamente usado como arma, ele recomenda que os usuários atualizem para a nova versão para corrigir as falhas e estar seguro.

Além disso, à medida que mais pesquisadores analisam cuidadosamente o bug, é possível que sejam desenvolvidas explorações mais sofisticadas que levem à execução de código.

Publicidade

Aprenda hacking e pentest na prática com esse curso gratuito

Passe por todas as principais fases de um pentest, utilizando cenários, domínios e técnicas reais utilizados no dia a dia de um hacker ético. Conte ainda com certificado e suporte, tudo 100% gratuito. Saiba mais...