Páginas

domingo, 21 de junho de 2026

Dracut no Rocky Linux: Entendendo e Corrigindo a Falha CVE-2026-6893

 


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

bash
rpm -q dracut

A versão vulnerável no Rocky Linux 10 é 107-7.el10_2 ou anteriores. Se a saída mostrar uma versão anterior a 107-7.el10_2, seu sistema está vulnerável.

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:

bash
lsinitrd | grep -i dhcp

Se houver referências a dhcp ou network no initramfs, há risco.

3. Consulte o boletim oficial da Rocky Linux

Acesse o errata oficial para confirmar:

bash
curl -s https://errata.rockylinux.org/ | grep -i "RLSA-2026:26532"

Script de automação para aplicar a correção

Abaixo, um script bash compatível com Rocky Linux que atualiza o dracut e reconstrói o initramfs para eliminar a vulnerabilidade. Execute como root ou com sudo.
bash
#!/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"

Como usar:
bash
chmod +x fix-dracut-cve.sh
sudo ./fix-dracut-cve.sh

Após a execução, reinicie o sistema para que o novo initramfs entre em vigor.


📗  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.



1. Edite ou crie /etc/dracut.conf.d/static-network.conf:
bash
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

2. Reconstrua o initramfs:
bash
dracut --force

Atenção: Ajuste os valores (IP, gateway, máscara, DNS) para a sua rede.

Opção 2: Bloquear tráfego DHCP malicioso com um iptables

Caso precise manter o DHCP, restrinja quais servidores DHCP são confiáveis:
bash
# 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/)

Para persistir as regras:
bash
iptables-save > /etc/sysconfig/iptables
systemctl enable iptables


Opção 3: Isolar a rede de boot

A maneira mais simples: nunca inicialize servidores críticos em redes não confiáveis. Mantenha a rede de gerenciamento (onde o PXE/iSCSI/DHCP de boot opera) em um VLAN separada e com acesso restrito.

Conclusão


A CVE-2026-6893 é uma falha séria que afeta o dracut em diversas distribuições Linux, incluindo Rocky Linux

A exploração permite execução de código como root durante o boot, mas a correção é simples: atualize o pacote dracut para a versão corrigida (107-7.el10_2 ou superior) e reconstrua o initramfs.

Se a atualização não for possível imediatamente, as mitigações alternativas — especialmente o uso de IP estático no initramfs — reduzem drasticamente o risco.

Ação imediata: verifique a versão do seu dracut hoje mesmo. Um atacante na mesma rede pode comprometer seu servidor antes mesmo do sistema operacional iniciar.

Nenhum comentário:

Postar um comentário