Proibir carregar outro kernel em execução

Risco médio Não marcada por padrão Catálogo revisado em: 2026-11-05

Fecha um caminho para um atacante com direitos de administrador trocar para um kernel que ele preparou.

Por que importa

O kexec deixa o kernel em execução carregar e pular para outro kernel sem passar pelo firmware. Um atacante que já ganhou direitos de administrador poderia usá-lo para iniciar um kernel preparado, que ignora suas configurações de segurança ou esconde as ferramentas dele. Desligar remove esse passo.

Como funciona

Define kernel.kexec_load_disabled como 1, o que desativa as chamadas de sistema kexec_load e kexec_file_load. A documentação do kernel diz que, depois de definido como 1, não volta a 0 até a próxima reinicialização.

Quem deve usar

Serve para desktops e servidores que não usam kexec. Deixe desligado se você depende de captura de crash com kdump, reinícios rápidos por kexec, ou ferramentas de atualização de kernel em vivo.

O que você pode notar

Comandos como kexec -l falham com erro de permissão, e um serviço de kernel de crash que iniciar depois da mudança pode falhar ao carregar. Só reiniciar desfaz.

Verifique no seu computador

Leia o valor atual:

sysctl kernel.kexec_load_disabled

Aplique à mão

Defina agora (até a próxima reinicialização):

sudo sysctl -w kernel.kexec_load_disabled=1

Mantenha após reinicializações, em um arquivo seu:

sudo tee /etc/sysctl.d/90-kernel-kexec.conf <<'EOF'
kernel.kexec_load_disabled = 1
EOF
sudo sysctl --system

Desfaça

Remova o arquivo e reinicie, ou volte ao valor antigo com sysctl -w.

Configurações relacionadas

Fontes

Linux Hardening Guide (madaidans)
2.2.1
Linux kernel documentation
kernel.kexec_load_disabled