Agora disponível a nova versão de atualização de “cURL 7.71.0”, no qual se concentraram em resolver dois bugs sérios que permitem senhas de acesso e também a capacidade de sobrescrever arquivos. É por isso que o convite para atualizar para a nova versão é feito.
Para quem não sabe este utilitário, eles deveriam saber que serve para receber e enviar dados pela rede, oferece a capacidade de formar uma solicitação de maneira flexível, definindo parâmetros como cookie, user_agent, referer e qualquer outro cabeçalho.
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 para a biblioteca libcurl, que fornece uma API para usar todas as funções curl em programas em linguagens como C, Perl, PHP, Python.
Principais mudanças em cURL 7.71.0
Esta nova versão é uma atualização e conforme mencionado no início trata-se de solucionar dois bugs, que são os seguintes:
- Vulnerabilidade CVE-2020-8177- Isso permite que um invasor sobrescreva um arquivo local no sistema ao acessar um servidor de ataque controlado. O problema só se manifesta quando as opções "-J" ("–remote-header-name") e "-i" ("–head") são usadas simultaneamente.
a opção "-J" permite que você salve o arquivo com o nome especificado no cabeçalho "Content-Disposition". Seu já existo um arquivo com o mesmo nome, o programa curl normalmente se recusa a sobrescrever, mas se a opção "-I" está presente, a lógica de verificação foi violada e substituída o arquivo (a verificação é feita no estágio de recepção do corpo da resposta, mas com a opção "-i" os cabeçalhos HTTP saem primeiro e têm tempo para persistir antes de processar o corpo da resposta). Apenas os cabeçalhos HTTP são gravados no arquivo.
- A vulnerabilidade CVE-2020-8169: isso poderia causar um vazamento no servidor DNS de algumas senhas de acesso ao site (Basic, Digest, NTLM, etc.).
Cuando se usa el carácter «@» en una contraseña, que también se usa como delimitador de contraseña en la URL, cuando se activa una redirección HTTP, curl enviará una parte de la contraseña después del carácter «@» junto con el dominio para determinar o nome.
Por exemplo, se você especificar a senha "passw @ passw" e o nome de usuário "user", curl irá gerar a URL "https: // user: passw @ passw @ example.com / path" em vez de "https: user: passw % 40passw@example.com/path "e envie uma solicitação para resolver o host" pasww@example.com "em vez de" example.com ".
O problema se manifesta ao ativar o suporte para redirecionadores HTTP Relativo (desativado por meio de CURLOPT_FOLLOWLOCATION).
No caso de usar DNS tradicional, o provedor de DNS e o invasor podem encontrar informações sobre uma parte da senha, que pode interceptar o tráfego de rede em trânsito (mesmo se a solicitação original foi feita por HTTPS, já que o tráfego DNS não é criptografado). Ao usar DNS sobre HTTPS (DoH), o vazamento é limitado à instrução DoH.
Finalmente, outra das alterações que está integrada na nova versão é a adição da opção "–retry-all-errors" para tentativas repetidas de realizar operações quando ocorre um erro.
Como instalar cURL no Linux?
Para aqueles que estão interessados em poder instalar esta nova versão do cURL Eles podem fazer isso baixando o código-fonte e compilando-o.
Para fazer isso, a primeira coisa que vamos fazer é baixar o pacote cURL mais recente com a ajuda de um terminal, nele vamos digitar:
wget https://curl.haxx.se/download/curl-7.71.0.tar.xz
Em seguida, vamos descompactar o pacote baixado com:
tar -xzvf curl-7.71.0.tar.xz
Entramos na pasta recém-criada com:
cd curl-7.71.0
Entramos como root com:
sudo su
E nós digitamos o seguinte:
./configure --prefix=/usr \ --disable-static \ --enable-threaded-resolver \ --with-ca-path=/etc/ssl/certs &&
make make install && rm -rf docs/examples/.deps &&
find docs \( -name Makefile\* -o -name \*.1 -o -name \*.3 \) -exec rm {} \; &&
install -v -d -m755 /usr/share/doc/curl-7.71.0 && cp -v -R docs/* /usr/share/doc/curl-7.71.0
Finalmente, podemos verificar a versão com:
curl --version
Se você quiser saber mais sobre isso, você pode consultar o seguinte link.