Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
proxmox-lxc-docker-fix — Solução alternativa para CVE-2025-52881: Corrige falhas no Docker/Podman em contêineres LXC do Proxmox causadas por incompatibilidade do AppArmor com runc 1.2.7+. Wrapper universal para community-scripts com configuração automática do AppArmor. | Kitploit
Ferramentas/GitHubGitHub/jq6l43d1/proxmox-lxc-docker-fix
Segurança de Infraestrutura em NuvemSegurança de ContêineresAnálise de VulnerabilidadesScripting e AutomaçãoDevSecOpsConfiguração Incorreta
GitHubjq6l43d1/proxmox-lxc-docker-fix

proxmox-lxc-docker-fix

Solução alternativa para CVE-2025-52881: Corrige falhas no Docker/Podman em contêineres LXC do Proxmox causadas por incompatibilidade do AppArmor com runc 1.2.7+. Wrapper universal para community-scripts com configuração automática do AppArmor.

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Ver Repositório
1523há 10 mesesAinda não revisado
Compartilhar

Correção do AppArmor para Docker/Containers no Proxmox LXC

Solução alternativa para CVE-2025-52881: Corrige a quebra do Docker, Podman e dos runtimes de containers em containers Proxmox LXC causada pela incompatibilidade do AppArmor com runc 1.2.7+/1.3.2+

🚨 O Problema

Atualizações recentes de segurança em runc (versões 1.2.7+ e 1.3.2+) e containerd (1.7.28-2+) introduziram uma incompatibilidade grave com o AppArmor quando executados dentro de containers Proxmox LXC. Isso faz com que o Docker e outros runtimes de containers falhem com erros como:

root@kitploit:~
OCI runtime create failed: unable to start container process:
error during container init: open sysctl net.ipv4.ip_unprivileged_port_start file:
reopen fd 8: permission denied

Isso afeta:

  • ✗ Scripts da comunidade Proxmox (docker.sh, komodo.sh, dockge.sh, casaos.sh, etc.)
  • ✗ Instalações manuais de Docker/Podman em LXC
  • ✗ Qualquer runtime de container que use runc dentro de containers LXC

Referência: opencontainers/runc#4968

⚠️ NÃO faça downgrade do runc

Embora fazer downgrade do runc para versões anteriores a 1.2.7/1.3.2 "corrija" o problema, isso expõe seu sistema a vulnerabilidades reais de escalonamento de privilégios que a atualização de segurança corrigiu. A solução alternativa neste repositório é a abordagem recomendada.

✅ A Solução

Este repositório fornece ferramentas que aplicam e gerenciam automaticamente a solução alternativa do AppArmor para containers Proxmox LXC:

  1. pve-script-wrapper.sh - Wrapper universal para scripts da comunidade Proxmox
  2. pve-docker-fix - Corrige containers existentes que já estão quebrados
  3. pve-docker-rollback - Remove a solução alternativa quando houver correções upstream disponíveis
  4. pct-patched - Wrapper interno (usado automaticamente pelo pve-script-wrapper.sh)

Como Funciona

Os scripts detectam automaticamente o sistema operacional do seu container e aplicam a solução alternativa adequada do AppArmor:

Para todos os containers:

root@kitploit:~
lxc.apparmor.profile: unconfined

Somente para containers Ubuntu:

root@kitploit:~
lxc.mount.entry: /dev/null sys/module/apparmor/parameters/enabled none bind 0 0

A primeira linha desativa o confinamento do AppArmor (necessário para todas as distribuições). A segunda linha mascara a detecção do módulo AppArmor e só é necessária para containers Ubuntu - containers Debian normalmente funcionam sem ela (runc#4968).

Detecção automática de SO: Os scripts detectam automaticamente se o seu container é Ubuntu ou Debian e aplicam apenas as linhas de configuração necessárias.

📦 Instalação

No seu host Proxmox VE, execute:

root@kitploit:~
# Download all scripts
curl -fsSL https://raw.githubusercontent.com/jq6l43d1/proxmox-lxc-docker-fix/main/pve-script-wrapper.sh -o /usr/local/bin/pve-script-wrapper.sh
curl -fsSL https://raw.githubusercontent.com/jq6l43d1/proxmox-lxc-docker-fix/main/pct-patched -o /usr/local/bin/pct-patched
curl -fsSL https://raw.githubusercontent.com/jq6l43d1/proxmox-lxc-docker-fix/main/pve-docker-fix -o /usr/local/bin/pve-docker-fix
curl -fsSL https://raw.githubusercontent.com/jq6l43d1/proxmox-lxc-docker-fix/main/pve-docker-rollback -o /usr/local/bin/pve-docker-rollback

# Make them executable
chmod +x /usr/local/bin/pve-script-wrapper.sh /usr/local/bin/pct-patched /usr/local/bin/pve-docker-fix /usr/local/bin/pve-docker-rollback

Ou clone o repositório:

root@kitploit:~
git clone https://github.com/jq6l43d1/proxmox-lxc-docker-fix.git
cd proxmox-lxc-docker-fix
chmod +x *.sh pct-patched pve-docker-fix pve-docker-rollback
cp pve-script-wrapper.sh pct-patched pve-docker-fix pve-docker-rollback /usr/local/bin/

🚀 Uso

Executando Scripts da Comunidade com Correção Automática

Em vez de:

root@kitploit:~
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/komodo.sh)"

Use:

root@kitploit:~
pve-script-wrapper.sh https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/komodo.sh

Isso funciona com qualquer script da comunidade Proxmox que crie containers LXC:

root@kitploit:~
# Docker
pve-script-wrapper.sh https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/docker.sh

# Dockge
pve-script-wrapper.sh https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/dockge.sh

# CasaOS
pve-script-wrapper.sh https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/casaos.sh

# Podman
pve-script-wrapper.sh https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/podman.sh

# And any other script that installs container runtimes

Corrigindo Containers Existentes

Se você já tem um container quebrado:

root@kitploit:~
# Fix container 105
pve-docker-fix 105

# Fix without automatic restart
pve-docker-fix 105 --no-restart

A ferramenta irá:

  1. Verificar se a correção já foi aplicada
  2. Parar o container (com confirmação)
  3. Aplicar a solução alternativa do AppArmor
  4. Reiniciar o container

Correção Manual

Se você preferir aplicar a correção manualmente:

root@kitploit:~
# Stop the container
pct stop 105

# Edit the config file
nano /etc/pve/lxc/105.conf

# Add this line at the end (required for all containers):
lxc.apparmor.profile: unconfined

# For Ubuntu containers, also add this line:
lxc.mount.entry: /dev/null sys/module/apparmor/parameters/enabled none bind 0 0

# Start the container
pct start 105

Nota: Containers Debian normalmente precisam apenas da primeira linha. Containers Ubuntu precisam de ambas as linhas. Consulte runc#4968 para detalhes técnicos.

Revertendo a Correção

Quando houver correções upstream disponíveis (atualizações do Proxmox/LXC/AppArmor), você pode remover a solução alternativa:

root@kitploit:~
# List all containers with the workaround
pve-docker-rollback --list

# Remove from specific container
pve-docker-rollback 105

# Preview changes without modifying
pve-docker-rollback 105 --dry-run

# Remove from all containers at once
pve-docker-rollback --all

# Remove without restart (changes apply on next start)
pve-docker-rollback 105 --no-restart

# Remove from all containers without confirmation
pve-docker-rollback --all --force

A ferramenta de rollback irá:

  1. Detectar se a solução alternativa foi aplicada
  2. Mostrar quais linhas serão removidas
  3. Solicitar confirmação (a menos que --force)
  4. Remover a configuração do AppArmor
  5. Reiniciar o container se necessário

Quando reverter:

  • Aguarde anúncios de que correções upstream estão disponíveis
  • Monitore runc#4968 para atualizações
  • Teste primeiro em containers não críticos
  • Verifique se o Docker/containers funcionam após a reversão antes de remover da produção

🔧 Como Funciona Tecnicamente

pve-script-wrapper.sh

  • Cria um diretório temporário com um link simbólico para pct-patched
  • Modifica PATH para priorizar o wrapper
  • Baixa e executa o script da comunidade
  • O script usa de forma transparente o comando pct corrigido

pct-patched

  • Intercepta comandos pct create
  • Chama o /usr/sbin/pct real para criar o container
  • Detecta o tipo de SO do container (Ubuntu vs Debian)
  • Imediatamente após a criação, injeta a configuração apropriada do AppArmor em /etc/pve/lxc/$CTID.conf
  • Repassa todos os outros comandos pct sem alterações

pve-docker-fix

  • Ferramenta independente para corrigir containers existentes
  • Detecta o tipo de SO do container automaticamente
  • Verifica se a correção já foi aplicada (idempotente)
  • Aplica apenas as linhas de configuração necessárias com base no SO
  • Gerencia a parada/inicialização do container com confirmação do usuário
  • Seguro de executar várias vezes

pve-docker-rollback

  • Remove a solução alternativa do AppArmor quando não for mais necessária
  • Examina todos os containers para encontrar aqueles com a solução alternativa aplicada
  • Remove com segurança blocos de comentários e linhas de configuração
  • Suporta container único, lote (--all) ou modo de lista
  • Modo dry-run para pré-visualizar as alterações antes de aplicar
  • Gerencia a reinicialização do container com confirmação
  • Idempotente e seguro de executar várias vezes

🛡️ Considerações de Segurança

O Que Isso Altera

  • Desativa o confinamento do AppArmor para o container LXC
  • Remove uma camada de defesa em profundidade

O Que Ainda Está Protegido

  • O container continua sem privilégios (fronteira de segurança mais importante)
  • Os namespaces do kernel ainda impõem isolamento
  • Os limites de recursos do cgroups ainda se aplicam
  • As permissões padrão do Linux ainda estão ativas

Avaliação de Riscos

  • Risco: Isolamento ligeiramente reduzido se o container for comprometido
  • Mitigação: Os containers permanecem sem privilégios, que é o principal controle de segurança
  • Comparação: Muito mais seguro do que fazer downgrade do runc e expor CVEs reais

Quando NÃO Usar Isto

  • Ambientes de produção que exigem isolamento máximo
  • Sistemas multi-tenant com containers não confiáveis
  • Containers executando código não confiável

Alternativas

  • Aguardar correções upstream (Proxmox/LXC/AppArmor/kernel)
  • Usar containers privilegiados (NÃO recomendado - segurança pior)
  • Usar VMs em vez de containers (mais sobrecarga)

📋 Sistemas Afetados

Afetados Confirmados

  • Proxmox VE 8.x com atualizações recentes
  • Containers LXC Debian 12 (Bookworm)
  • Containers LXC Ubuntu (todas as versões recentes)
  • Versões do runc 1.2.7+ e 1.3.2+
  • Versão do containerd 1.7.28-2+

Notas Específicas por SO

  • Containers Debian: Normalmente precisam apenas de lxc.apparmor.profile: unconfined
  • Containers Ubuntu: Precisam de ambas as linhas de configuração (perfil + entrada de montagem)
  • Os scripts detectam automaticamente o SO e aplicam a correção adequada

Scripts da Comunidade Conhecidos por Serem Afetados

  • docker.sh
  • komodo.sh
  • dockge.sh
  • casaos.sh
  • podman.sh
  • runtipi.sh
  • omv.sh (OpenMediaVault)
  • alpine-docker.sh
  • podman-homeassistant.sh
  • E mais de 390 outros scripts baseados em containers

🔗 Referências

  • Problema Principal: opencontainers/runc#4968
  • CVE: CVE-2025-52881
  • CVEs Relacionadas: CVE-2025-31133, CVE-2025-52565
  • Discussão no Fórum do Proxmox: Community Scripts Issue #8890
  • Correção do Incus: PR #2624

🐛 Solução de Problemas

O script não funciona

root@kitploit:~
# Verify scripts are executable
ls -l /usr/local/bin/pve-script-wrapper.sh /usr/local/bin/pct-patched

# Make them executable if needed
chmod +x /usr/local/bin/pve-script-wrapper.sh /usr/local/bin/pct-patched

O Docker ainda falha após aplicar a correção

root@kitploit:~
# Verify the fix was applied
grep -i apparmor /etc/pve/lxc/105.conf

# Check detected OS type
pct config 105 | grep ostype

# For Ubuntu containers, ensure both lines are present:
# - lxc.apparmor.profile: unconfined
# - lxc.mount.entry: /dev/null sys/module/apparmor/parameters/enabled...

# If not present, apply manually
pve-docker-fix 105

# Check container is restarted
pct status 105

O container não inicia após a correção

root@kitploit:~
# Check for syntax errors in config
cat /etc/pve/lxc/105.conf

# View detailed error messages
journalctl -xe

🤝 Contribuição

Contribuições são bem-vindas! Por favor:

  1. Teste suas alterações em um sistema Proxmox VE
  2. Atualize a documentação se adicionar recursos
  3. Siga o estilo de código existente
  4. Envie um PR com descrição clara

📝 Licença

GNU GENERAL PUBLIC LICENSE - Consulte o arquivo LICENSE para obter detalhes

🙏 Agradecimentos

  • Equipe do opencontainers/runc pelas correções de segurança
  • Mantenedores do community-scripts/ProxmoxVE
  • Todos os contribuidores das discussões nas issues

⚡ Referência Rápida

root@kitploit:~
# Install
curl -fsSL https://raw.githubusercontent.com/jq6l43d1/proxmox-lxc-docker-fix/main/install.sh | bash

# Run community script with fix
pve-script-wrapper.sh <script-url>

# Fix existing container
pve-docker-fix <container-id>

# List containers with workaround
pve-docker-rollback --list

# Remove workaround (when upstream fixes available)
pve-docker-rollback <container-id>
pve-docker-rollback --all

# Get help
pve-script-wrapper.sh --help
pve-docker-fix --help
pve-docker-rollback --help

Nota: Esta é uma solução alternativa temporária até que os projetos upstream lancem correções permanentes. Monitore as issues do GitHub referenciadas para atualizações.

Baixar ferramenta