Se você tem um sistema baseado em Linux, há uma boa chance de que você esteja familiarizado com o cURL – uma ferramenta de rede essencial utilizada para transferir dados através de linhas de comando e scripts. Devido à sua versatilidade, o cURL não é apenas uma ferramenta autônoma; ele também é incorporado em diversos aplicativos na forma de biblioteca, conhecido como libcurl. No entanto, recentemente foram descobertas vulnerabilidades nessa ferramenta e sua biblioteca. Aqui, vou guiá-lo sobre como identificar e corrigir essas vulnerabilidades.
Entendendo a Vulnerabilidade: CVE-2023-38545
Esta vulnerabilidade específica afeta as versões do curl e libcurl de 7.69.0 a 8.3.0. Para um ataque bem-sucedido utilizando essa vulnerabilidade, um atacante precisaria direcionar o curl a um servidor mal-intencionado e certificar-se de que ele use configurações específicas.
Yair Mizrahi, um destacado pesquisador de segurança, observou que a maioria dos usuários provavelmente não será afetada por essa vulnerabilidade devido às condições restritivas necessárias para um ataque bem-sucedido. No entanto, é fundamental estar ciente e tomar precauções.
Varrendo Seu Ambiente em Busca de Vulnerabilidades
O primeiro passo é identificar todos os sistemas em seu ambiente que possam estar usando versões vulneráveis do curl e libcurl. Você pode fazer isso manualmente através dos seguintes comandos:
- Para Linux/MacOS:
find / -name curl 2>/dev/null -exec echo "Found: {}" \; -exec {} --version \;
- Para Windows:
Get-ChildItem -Path C:\ -Recurse -ErrorAction SilentlyContinue -Filter curl.exe | ForEach-Object { Write-Host "Found: $($_.FullName)"; & $_.FullName --version }
Além disso, se você estiver usando contêineres Docker, é fundamental escanear suas imagens em busca de versões vulneráveis. Instruções sobre como fazer isso podem ser encontradas diretamente no site da Docker.
Para mais informações para identificação no Docker, achei este link que pode ajudar.
O Que Fazer Após Identificar Versões Vulneráveis?
Se você descobrir que seu sistema está usando uma versão vulnerável do curl ou libcurl, é crucial atualizar para uma versão segura o mais rápido possível. Patches estão disponíveis no site oficial do curl e em diversos sistemas operacionais, como Debian, Ubuntu e Red Hat.
Uma solução temporária, enquanto as atualizações estão sendo implantadas, é forçar o curl a usar a resolução de nome de host local. Isso pode ser feito utilizando a sintaxe curl -x socks5://someproxy.com
e substituindo a variável de ambiente CURLPROXY_SOCKS5_HOSTNAME
por CURLPROXY_SOCKS5
.
Conclusão
Embora nem todos os sistemas que usam curl e libcurl sejam vulneráveis, a conscientização e a ação proativa são essenciais para garantir a segurança de seus sistemas e dados. Monitorar ativamente seu ambiente e aplicar patches conforme necessário são as melhores práticas para qualquer administrador ou entusiasta de tecnologia. Lembre-se, no mundo da segurança cibernética, é sempre melhor prevenir do que remediar.
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.