Curl 8.4 lançado com a correção de uma grave falha de segurança

Foi lançado o cURL 8.4 lançado com a correção de uma grave falha de segurança. Confira as novidades e veja como instalar no Linux.

cURL é um utilitário de download usado para receber e enviar dados pela rede, pois fornece a capacidade de formar uma solicitação de maneira flexível, definindo parâmetros como cookie, user_agent, referer e qualquer outro cabeçalho.

O cURL suporta HTTP, HTTPS, HTTP/2.0, HTTP/3, SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP e outros protocolos de rede. Ao mesmo tempo, uma atualização paralela foi lançada na biblioteca libcurl, que fornece uma API para usar todas as funções de curvatura em programas em linguagens como C, Perl, PHP, Python.

Agora, eles lançaram o cURL 8.4 com correções importantes.

Novidades do cURL 8.4

Curl 8.4 lançado com a correção de uma grave falha de segurança

Após a notícia de alguns dias atrás de que o Curl estava se preparando para sua pior falha de segurança em muito tempo que afeta o projeto, o Curl 8.4 já está disponível e com uma nova luz sobre esse assunto.

Curl 8.4 foi lançado com esta correção de segurança de nível “alto”, outro problema de segurança “baixo” também foi resolvido e, em seguida, a correção de bugs e o recurso habituais funcionam para esta biblioteca de download amplamente usada e utilitário de linha de comando curl para baixar arquivos por meio de vários protocolos de rede.

CVE-2023-38545 é o problema de segurança “alta” resolvido no CVE 8.4. A página de segurança do Curl observa:

“Essa falha faz com que o curl overflow seja um buffer baseado em heap no handshake do proxy SOCKS5.

Quando o curl é solicitado a passar o nome do host para o proxy SOCKS5 para permitir que ele resolva o endereço em vez de ser feito pelo próprio curl, o comprimento máximo que o nome do host pode ter é de 255 bytes.

Se for detectado que o nome do host tem mais de 255 bytes, o curl alterna para a resolução de nome local e, em vez disso, passa o endereço resolvido apenas para o proxy. Devido a um bug, a variável local que significa “deixe o host resolver o nome” pode obter o valor errado durante um handshake SOCKS5 lento e, ao contrário da intenção, copiar o nome do host muito longo para o buffer de destino em vez de copiar apenas o resolvido endereço lá.

Se o nome do host usado for maior que o buffer de destino, há um memcpy() que sobrescreve o buffer no heap. O analisador de URL e possivelmente uma biblioteca IDN (se o curl for construído com uma) precisam aceitar o nome do host, o que limita um pouco o conjunto de sequências de bytes disponíveis que podem ser usadas na cópia.

Para que ocorra um overflow, é necessário um handshake SOCKS5 lento o suficiente para acionar o bug da variável local e o cliente usar um nome de host maior que o buffer de download. Talvez com um servidor HTTPS malicioso redirecionando para um URL especialmente criado.

A latência típica do servidor é provavelmente “lenta” o suficiente para acionar esse bug sem que um invasor precise influenciá-lo pelo controle do servidor DoS ou SOCKS.”

O outro problema de segurança diz respeito apenas à injeção de cookies sem nenhum arquivo.

Enquanto isso, no lado dos recursos, o Curl 8.4 adiciona suporte para protocolos IPFS por meio de gateways HTTP. O Curl 8.4 também elimina o suporte para conjuntos de ferramentas legados do MinGW.org.

Para saber mais sobre essa versão do cURL, acesse a nota de lançamento.

Como instalar ou atualizar o cURL 8.4

cURL está disponível por padrão na maioria das distribuições Linux, então, para instalar a versão mais recente, basta usar o gerenciador de pacotes do sstema.

O cURL pode ser baixado neste nesse endereço, mas se você não estiver com pressa e não precisar, é melhor para os usuários do Linux aguardar ele chegar na sua distribuição para atualizar o pacote em seus repositórios oficiais.

Deixe um comentário

Sair da versão mobile