Uma leitura além do fim do buffer no proxy web Squid pode vazar a solicitação HTTP em texto claro de outro usuário, incluindo credenciais ou tokens de sessão que ela contenha, para qualquer pessoa já autorizada a trafegar pelo mesmo proxy.
A falha remonta a uma mudança no parser de FTP feita em 1997 e continua presente na configuração padrão do Squid.
Pesquisadores da Calif.io divulgaram o problema em junho e o batizaram de Squidbleed, com identificação CVE-2026-47729, em referência ao Heartbleed, que vazava memória de forma semelhante.
O Squid descreve o caso como um ataque de cliente confiável, ou seja, alguém que já tem permissão para usar o proxy, e não qualquer máquina aleatória na internet.
Isso corresponde ao ambiente mais comum do software, como redes compartilhadas em escolas, escritórios e Wi-Fi público.
Nesses cenários, o atacante é apenas mais um usuário do mesmo proxy.
O vazamento também afeta apenas o tráfego que o Squid consegue ler.
O HTTPS normal trafega por um túnel CONNECT opaco, então o proxy não enxerga o conteúdo.
O material exposto é o HTTP em texto claro, além de configurações com terminação de TLS, nas quais o Squid descriptografa e inspeciona o tráfego.
Para explorar a falha, o atacante também precisa que o proxy alcance um servidor FTP sob seu controle na porta 21.
Tanto o FTP quanto essa porta estão habilitados por padrão.
Como o vazamento funciona
A falha está no parser de listagem de diretório FTP do Squid.
Para lidar com antigos servidores NetWare, que preenchiam listagens com espaços extras, o código ignora espaços em branco com um laço: while (strchr(w_space, *copyFrom)) ++copyFrom;.
Se o servidor FTP do atacante enviar uma linha de listagem que termine logo após o horário, sem nome de arquivo, copyFrom cai no terminador nulo da string.
A função strchr trata esse byte nulo final como parte da string pesquisada, então retorna um ponteiro em vez de NULL, e o laço nunca para.
O código então avança para fora do buffer, e xstrdup copia de volta ao atacante o que vier em seguida, como se fosse um nome de arquivo.
Os bytes vazados são justamente a parte útil.
O Squid reaproveita buffers de memória liberados sem zerá-los, então um buffer de 4 KB que tenha armazenado recentemente uma solicitação HTTP de uma vítima ainda pode conter grande parte desse conteúdo.
Uma linha FTP curta sobrescreve apenas os primeiros bytes, e a leitura além do limite recupera o restante.
Na demonstração da Calif, o ataque extrai um cabeçalho Authorization de uma vítima que compartilha o mesmo proxy, o suficiente para se passar por esse usuário.
O código de prova de conceito é público, e até o momento não há relatos de exploração em ambiente real.
O que fazer
Se você aplicar o patch, confirme a correção, e não apenas a versão.
Verifique se a proteção está em FtpGateway.cc ou confira o backport da sua distribuição, já que os pacotes costumam trazer builds próprios.
O Debian, por exemplo, distribui o Squid 5.7.
A discussão pública ainda apresenta divergências.
O mantenedor Amos Jeffries afirmou inicialmente que o Squid 7.6 já trazia a correção, depois ajustou a informação para 7.7.
Em 22/06, Salvatore Bonaccorso, do Debian, observou que o commit citado parece já estar incluído na 7.6.
A correção é pequena, com uma checagem do terminador nulo antes das chamadas vulneráveis a strchr.
O ajuste foi incorporado ao ramo de desenvolvimento em abril e à versão 7 em maio.
O Squid 7.6 também corrige separadamente a CVE-2026-50012, um overflow de heap no cache_digest sem relação com este caso.
A medida mais limpa é a recomendada pelos próprios pesquisadores: desativar o FTP.
O Chromium abandonou o FTP há anos e a maior parte das redes já quase não usa esse protocolo, então desabilitá-lo elimina essa superfície de ataque sem custo, independentemente da versão instalada.
O risco é real, mas limitado.
A SUSE classifica a falha como moderada, com CVSS 6,5, e o vetor explica a nota: o atacante precisa ter acesso ao proxy, com privilégios baixos, e o impacto atinge apenas a confidencialidade, sem afetar integridade ou disponibilidade.
A Calif atribui ao Anthropic Claude Mythos Preview, o modelo por trás do Project Glasswing, o mérito de ter identificado quase de imediato a peculiaridade no uso de strchr, o mesmo tipo de bug de parser oculto que agentes de IA têm encontrado em outros lugares, inclusive no FFmpeg.
A empresa sugere que o código FTP do Squid talvez não seja o último ponto em que o software deixou de parar de ler no momento certo.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...