Desligar sandboxes sem privilégio (user namespaces)

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

Os user namespaces dão aos programas comuns muito código do kernel para atacar. Desligá-los remove boa parte da superfície.

Por que importa

Namespaces de usuário permitem que um programa comum finja ser administrador dentro de um espaço privado. Isso é útil para sandboxes, mas também expõe muito código privilegiado do kernel a usuários sem privilégio, e muitas escaladas de privilégio locais começaram aí. Desligar encolhe essa superfície.

Como funciona

Define user.max_user_namespaces como 0, então ninguém cria novos namespaces de usuário. Programas já rodando dentro de um continuam, mas novos não conseguem iniciá-los.

Quem deve usar

Só para máquinas trancadas onde você não usa Flatpak, contêineres rootless ou navegador em sandbox. Para a maioria dos desktops é uma troca: essas sandboxes também protegem você, e removê-las pode deixá-lo menos seguro.

O que você pode notar

Aplicativos Flatpak falham com um erro do bwrap sobre criar namespace. Chromium e Firefox podem avisar que a sandbox deles está indisponível. Contêineres rootless e muitos AppImages param de iniciar.

Verifique no seu computador

Leia o valor atual:

sysctl user.max_user_namespaces

Aplique à mão

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

sudo sysctl -w user.max_user_namespaces=0

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

sudo tee /etc/sysctl.d/90-kernel-user-namespaces.conf <<'EOF'
user.max_user_namespaces = 0
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
user.max_user_namespaces