Wget2 2.3.0 é lançado com foco em segurança e maior compatibilidade com o Wget clássico

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

O sucessor do Wget clássico ganha reforços de segurança!

O GNU Wget2, a nova geração do popular utilitário de download em linha de comando, chegou à versão 2.3.0. A atualização, anunciada no repositório oficial do projeto, traz um conjunto robusto de correções que aproximam o comportamento da ferramenta ao do Wget 1.x original, além de implementar melhorias cruciais em segurança, gerenciamento de certificados TLS e prevenção contra vulnerabilidades de path traversal.

Desenvolvido para ser mais rápido e eficiente que seu antecessor — com suporte nativo a HTTP/2, compressão avançada e downloads multithread —, o Wget2 ainda passa por ajustes finos para garantir que scripts legados funcionem sem quebras inesperadas. A versão 2.3.0 foca exatamente nesse polimento.

O que isso muda na prática

aTSZyAlE wget2 2 3 0 lancamento seguranca 1
Wget2 2.3.0 é lançado com foco em segurança e maior compatibilidade com o Wget clássico 3

Para administradores de sistemas e desenvolvedores que utilizam o Wget em automações, a nova versão reduz o atrito na migração do Wget 1.x para o Wget2. Comandos clássicos, como o prefixo de diretório e filtros de aceitação/rejeição de arquivos, agora se comportam da maneira esperada. Além disso, o download de arquivos via web torna-se mais seguro, já que a ferramenta agora sanitiza rigorosamente nomes de arquivos sugeridos por servidores, evitando que downloads maliciosos sobrescrevam arquivos críticos do sistema.

Maior paridade com o Wget 1.x

Um dos grandes desafios de reescrever uma ferramenta clássica é manter a compatibilidade com décadas de scripts existentes. O Wget2 2.3.0 resolve várias discrepâncias reportadas por usuários:

  • Prefixo de diretórios: A opção --directory-prefix (ou -P) foi corrigida para atuar de forma idêntica ao Wget1.
  • Filtros de arquivos: A compatibilidade das opções --accept e --reject foi aprimorada, garantindo que o filtro de extensões e padrões funcione como no projeto original.
  • Tratamento de URLs: O processo de remoção de escapes (unescaping) de URLs foi ajustado para os padrões do Wget1. Além disso, o utilitário deixou de remover o escape de URLs em cabeçalhos Location, prevenindo redirecionamentos quebrados.
  • Combinações de flags: Um problema envolvendo o uso simultâneo de --page-requisites, --no-parent, --level 0 e --mirror foi solucionado.

Segurança, TLS e sanitização de caminhos

A versão 2.3.0 reforça as defesas do Wget2 contra servidores maliciosos ou mal configurados. O destaque fica para a mitigação de falhas de path traversal (travessia de diretório), uma técnica onde o servidor tenta forçar o cliente a salvar um arquivo fora do diretório de destino pretendido.

  • Content-Disposition seguro: O Wget2 agora previne a travessia de caminhos ao processar o cabeçalho HTTP Content-Disposition. O nome do arquivo sugerido pelo servidor é sanitizado, e a ferramenta passa a utilizar o basename como nome final.
  • Metalink no Windows: Caminhos no Windows também receberam sanitização específica durante o uso de Metalink, prevenindo vulnerabilidades de travessia na plataforma da Microsoft.
  • Gerenciamento de Cookies: O utilitário agora aceita cookies seguros exclusivamente via conexões HTTPS e corrige um possível estouro de limite de inteiros (integer overflow) durante o parsing.
  • Criptografia: O suporte a TLS foi atualizado em diferentes bibliotecas. O OpenSSL ganhou suporte a autenticação pós-handshake (post handshake auth). Para usuários do GnuTLS, a versão mínima exigida agora é a 3.6.5, com aceitação de configurações do sistema. Já o WolfSSL recebeu melhorias na checagem OCSP e verificação de domínio. Os certificados SSL/TLS agora também têm seu propósito (purpose) validado rigorosamente.

Melhorias no comportamento HTTP e parsing

No lado do processamento de dados da web, o Wget2 2.3.0 expande sua capacidade de entender páginas modernas e lidar com protocolos recentes:

  • HTTP/2: Foi implementada a capacidade de pular (skip) respostas de status 1xx, adequando-se melhor ao fluxo do protocolo.
  • RFC 9110: O cabeçalho Content-Length: 0 foi adicionado às requisições POST, PUT e PATCH, seguindo os padrões web mais recentes.
  • Parsing de HTML e CSS: O Wget2 agora consegue converter arquivos CSS ao usar --convert-links. No HTML, a ferramenta passou a suportar iframe srcdoc e a ler adequadamente os atributos data-src e data-srcset, úteis para espelhar páginas que usam carregamento preguiçoso (lazy loading) de imagens.
  • Prevenção de Stack Overflow: Um problema de estouro de pilha durante o parsing recursivo de arquivos locais foi corrigido, e a profundidade máxima de recursão no processamento de XML foi limitada a 1024.

O código-fonte do Wget2 2.3.0 já está disponível para download no repositório oficial do projeto no GitLab. A chegada aos repositórios das principais distribuições Linux deve ocorrer gradualmente nas próximas semanas.

Compartilhe este artigo
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.