A vulnerabilidade CVE-2026-6893 no dracut permite execução remota de código como root via DHCP em servidores Rocky Linux. Aprenda a verificar, corrigir com script automatizado e aplicar mitigação alternativa mesmo sem atualização imediata. Guia completo para administradores.
O que é essa vulnerabilidade e por que você precisa se preocupar
Em junho de 2026, foi identificada uma falha crítica no dracut — o conjunto de ferramentas responsável por gerar o initramfs (sistema de arquivos temporário usado durante a inicialização do Linux).
A vulnerabilidade, registrada como CVE-2026-6893, recebeu pontuação CVSS 8.8 (alta severidade).
O problema é simples na descrição, mas grave no impacto: um atacante na mesma rede local (adjacente) pode enviar opções DHCP maliciosas — como um hostname especialmente construído — para uma máquina que esteja usando o caminho DHCP legado do dracut durante o boot.
Essas opções são escritas em scripts shell temporários sem o devido escape de caracteres, resultando em injeção de comandos.
Na prática, o atacante consegue executar código arbitrário como root dentro do initramfs, antes mesmo do sistema operacional carregar completamente. Isso compromete o processo de boot, permite alterar configurações de rede e pode abrir portas para persistência no sistema.
Quem está vulnerável: Rocky Linux 10, Red Hat Enterprise Linux 6, 7, 8, 9 e 10, além de imagens Red Hat Hardened e OpenShift Container Platform 4.
Como verificar se seu sistema está vulnerável
Antes de aplicar qualquer correção, confirme se seu Rocky Linux está na versão afetada do dracut.
1. Verifique a versão instalada do dracut
rpm -q dracut
2. Verifique se o DHCP é usado no initramfs
O ataque só é possível se o sistema utilizar DHCP durante a fase do initramfs. Para verificar:
lsinitrd | grep -i dhcp
3. Consulte o boletim oficial da Rocky Linux
Acesse o errata oficial para confirmar:
curl -s https://errata.rockylinux.org/ | grep -i "RLSA-2026:26532"
Script de automação para aplicar a correção
#!/bin/bash # Script de correção automática para CVE-2026-6893 no Rocky Linux # Compatível com Rocky Linux 8, 9 e 10 # Execute como root set -e echo "[*] Iniciando correção para CVE-2026-6893 (dracut)" # 1. Verifica versão atual CURRENT_VERSION=$(rpm -q dracut --qf "%{VERSION}-%{RELEASE}" 2>/dev/null || echo "não instalado") echo "[*] Versão atual do dracut: $CURRENT_VERSION" # 2. Atualiza o dracut via DNF echo "[*] Atualizando dracut..." dnf update -y dracut dracut-network dracut-config-generic # 3. Verifica se a atualização foi aplicada NEW_VERSION=$(rpm -q dracut --qf "%{VERSION}-%{RELEASE}") echo "[*] Nova versão do dracut: $NEW_VERSION" # 4. Reconstrói o initramfs para todos os kernels disponíveis echo "[*] Reconstruindo initramfs..." for kernel in $(ls /boot/vmlinuz-* | sed 's/\/boot\/vmlinuz-//'); do echo "[*] Processando kernel: $kernel" dracut --force /boot/initramfs-${kernel}.img ${kernel} done # 5. Atualiza o GRUB (opcional, mas recomendado) echo "[*] Atualizando GRUB..." grub2-mkconfig -o /boot/grub2/grub.cfg echo "[✓] Correção aplicada com sucesso!" echo "[*] Recomenda-se reiniciar o sistema para carregar o novo initramfs." echo "[*] Execute: reboot"
chmod +x fix-dracut-cve.sh sudo ./fix-dracut-cve.sh
📗 Recomendação de Leitura
Segurança em servidores Linux: Ataque e Defesa (anúncio) -> https://link.amazon/B0hlDkNqk
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)
Se você não pode aplicar a atualização imediatamente — seja por política de mudanças, ambiente de produção crítico ou dependências — existem mitigações temporárias que reduzem significativamente o risco.
Opção 1: Usar configuração de rede estática no initramfs
A vulnerabilidade só é explorável se o sistema usar DHCP durante o boot. Configure o initramfs com um IP estático.
echo 'kernel_cmdline="ip=192.168.1.100::192.168.1.1:255.255.255.0:hostname:eth0:none nameserver=8.8.8.8"' > /etc/dracut.conf.d/static-network.conf
dracut --force
# Permite DHCP apenas de servidores específicos (ex.: 192.168.1.1) iptables -A INPUT -p udp --dport 67:68 -s 192.168.1.1 -j ACCEPT iptables -A INPUT -p udp --dport 67:68 -j DROP # Bloqueia respostas DHCP de fontes não autorizadas durante o boot # (coloque em um script executado no initramfs via /etc/dracut.conf.d/)
iptables-save > /etc/sysconfig/iptables systemctl enable iptables

Nenhum comentário:
Postar um comentário