Guia prático para sysadmins openSUSE: como verificar, corrigir e se proteger contra a vulnerabilidade HTTP/2 Bomb no perl-Protocol-HTTP2 (CVE-2026-10725). Scripts bash, mitigação com iptables e AppArmor, e recomendações de leitura. Conteúdo perene e útil por meses.
Em meados de 2026, uma falha no módulo Perl Protocol::HTTP2 (CVE-2026-10725) acendeu o sinal de alerta na comunidade. A questão, batizada de "HTTP/2 Bomb", permitia que uma única requisição pequena consumisse toda a memória do servidor.
Parece grave, e é. Mas, como profissionais, não lidamos com pânico, e sim com procedimento.
O objetivo deste guia é te dar exatamente isso: um procedimento claro, replicável e atemporal. Você vai aprender, de uma vez por todas, a diagnosticar, remediar e se proteger contra essa classe de vulnerabilidade, independentemente de quando ela apareceu.
O que é a HTTP/2 Bomb (e por que você deve se importar)
A vulnerabilidade reside na forma como o módulo decodifica os cabeçalhos HPACK, o sistema de compressão do HTTP/2. Um invasor envia cabeçalhos maliciosos que, ao serem descomprimidos pelo servidor, se expandem exponencialmente em memória.
O resultado é um clássico ataque de negação de serviço (DoS), onde o sistema fica lento ou trava.
O problema afeta todas as versões do perl-Protocol-HTTP2 até a 1.12 inclusive. A correção implementa um limite de tamanho para a lista de cabeçalhos, impedindo o ataque.
Como verificar se você está vulnerável (agora e daqui a 6 meses)
Use os comandos abaixo periodicamente para manter seus sistemas seguros. Eles verificam a versão instalada do pacote e se a correção já foi aplicada via patch da SUSE.
Comando para verificação manual
# Verifica a versão exata do pacote instalado rpm -q perl-Protocol-HTTP2 # Alternativa: obter informações detalhadas do pacote zypper info perl-Protocol-HTTP2 | grep Version
Um sistema vulnerável exibirá uma versão inferior a 1.10-150600.3.3.1. Se o comando retornar "pacote não instalado", seu sistema também está seguro.
Script de varredura para múltiplos servidores
Salve o seguinte como check_http2_bomb.sh e execute em seus servidores via ansible ou manualmente:
#!/bin/bash # check_http2_bomb.sh - Verifica vulnerabilidade HTTP/2 Bomb em openSUSE PACKAGE="perl-Protocol-HTTP2" REQUIRED_VERSION="1.10-150600.3.3.1" echo "=== Verificando vulnerabilidade HTTP/2 Bomb ===" if rpm -q $PACKAGE > /dev/null 2>&1; then INSTALLED_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" $PACKAGE) echo "Pacote encontrado: $PACKAGE-$INSTALLED_VERSION" if [[ "$INSTALLED_VERSION" < "$REQUIRED_VERSION" ]]; then echo "⚠️ VULNERÁVEL: Versão $INSTALLED_VERSION é anterior à correção ($REQUIRED_VERSION)." exit 1 else echo "✅ SEGURO: Versão $INSTALLED_VERSION atende ao requisito mínimo." exit 0 fi else echo "✅ SEGURO: Pacote $PACKAGE não está instalado no sistema." exit 0 fi
Script de automação para aplicar a correção (Bash)
Se a verificação apontar vulnerabilidade, execute o script abaixo para aplicar a correção de forma automatizada.
#!/bin/bash # fix_http2_bomb.sh - Aplica a correção para HTTP/2 Bomb set -e echo "=== Iniciando correção da vulnerabilidade HTTP/2 Bomb ===" # 1. Atualiza os repositórios echo "[1/3] Atualizando repositórios..." sudo zypper refresh # 2. Aplica o patch específico da SUSE echo "[2/3] Aplicando patch de segurança..." sudo zypper patch --cve=CVE-2026-10725 # Alternativa: atualizar apenas o pacote afetado # sudo zypper update perl-Protocol-HTTP2 # 3. Verifica se a correção foi aplicada com sucesso echo "[3/3] Verificando instalação..." rpm -q perl-Protocol-HTTP2 echo "✅ Correção concluída. Execute o script de verificação novamente para confirmar."
📗 Recomendação de Leitura
Segurança em servidores Linux: Ataque e Defesa (anúncio) -> https://amzn.to/49STXqW
Se você prefere estudar em português e quer aprender a "pensar como um hacker" para se antecipar a invasões, essa é a pedida! O livro ensina a usar as ferramentas prediletas dos invasores (como Nmap e Netcat) a seu favor, blindando seus sistemas.
Eu ganho uma comissão quando você faz uma compra.
Mitigação alternativa caso não possa atualizar agora
Em cenários onde a atualização não é possível (servidor legacy, janela de manutenção restrita), implemente uma das estratégias abaixo como paliativo.
Opção 1: Bloqueio parcial com iptables
Se seu serviço HTTP/2 não precisa ser exposto diretamente, bloqueie as portas 80 e 443 (assumindo que você usa um proxy reverso separado):
sudo iptables -A INPUT -p tcp --dport 80 -j DROP sudo iptables -A INPUT -p tcp --dport 443 -j DROP
Atenção: Isso derruba completamente o acesso. Use apenas se o serviço não for crítico ou se estiver atrás de um load balancer.
Opção 2: Restrição com AppArmor
O AppArmor vem pré-instalado no openSUSE. Crie um perfil para restringir o processo Perl que está utilizando o módulo vulnerável, limitando seu acesso a recursos:
# Instale o utilitário de criação de perfis se necessário sudo zypper install apparmor-utils # Gere um perfil para o processo (exemplo genérico para perl) sudo aa-genprof /usr/bin/perl # Coloque o perfil em modo de reclamação (apenas log, sem bloquear) sudo aa-complain /usr/bin/perl
Para restrições mais efetivas, edite o perfil gerado (/etc/apparmor.d/usr.bin.perl) e adicione limites de memória:
set rlimit memlock <= 100M, set rlimit as <= 500M,
Recarregue o perfil:
sudo systemctl reload apparmor
Opção 3: Proxy Reverso com Proteção
Configure um proxy reverso (como Nginx ou HAProxy) na frente do seu aplicador Perl. O proxy pode ser configurado para limitar o tamanho dos cabeçalhos HTTP/2, mitigando o ataque na camada de borda.
Conclusão
A vulnerabilidade CVE-2026-10725 foi um alerta importante, mas não precisa ser um pesadelo. Com os comandos e scripts deste guia, você automatiza a verificação e a correção, mantendo seus servidores openSUSE seguros contra ataques de HTTP/2 Bomb.
Lembre-se: segurança não é um evento, é um processo. Execute o script de verificação mensalmente e mantenha seus pacotes sempre atualizados.

Nenhum comentário:
Postar um comentário