Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/jq6l43d1/proxmox-lxc-docker-fix
Seguridad de Infraestructura en la NubeSeguridad de ContenedoresAnálisis de VulnerabilidadesScripting y AutomatizaciónDevSecOpsMala Configuración
GitHubjq6l43d1/proxmox-lxc-docker-fix

proxmox-lxc-docker-fix

Solución para CVE-2025-52881: Corrige la rotura de Docker/Podman en contenedores LXC de Proxmox causada por incompatibilidad de AppArmor con runc 1.2.7+. Envoltorio universal para community-scripts con configuración automática de AppArmor.

Ver Repositorio
15213hace 10 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Solución para AppArmor en LXC de Proxmox para Docker/Contenedores

Solución para CVE-2025-52881: Corrige la rotura de Docker, Podman y otros entornos de ejecución de contenedores en contenedores LXC de Proxmox causada por incompatibilidad de AppArmor con runc 1.2.7+/1.3.2+

🚨 El Problema

Actualizaciones de seguridad recientes a runc (versiones 1.2.7+ y 1.3.2+) y containerd (1.7.28-2+) introdujeron una incompatibilidad que rompe AppArmor cuando se ejecuta dentro de contenedores LXC de Proxmox. Esto provoca que Docker y otros entornos de ejecución de contenedores fallen con errores como:

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

Esto afecta a:

  • ✗ Scripts de la comunidad de Proxmox (docker.sh, komodo.sh, dockge.sh, casaos.sh, etc.)
  • ✗ Instalaciones manuales de Docker/Podman en LXC
  • ✗ Cualquier entorno de ejecución de contenedores que use runc dentro de contenedores LXC

Referencia: opencontainers/runc#4968

⚠️ NO Degradar runc

Aunque degradar runc por debajo de 1.2.7/1.3.2 "solucionaría" el problema, expone su sistema a vulnerabilidades reales de escalada de privilegios que parcheó la actualización de seguridad. La solución en este repositorio es el enfoque recomendado.

✅ La Solución

Este repositorio proporciona herramientas que aplican y gestionan automáticamente la solución para AppArmor en contenedores LXC de Proxmox:

  1. pve-script-wrapper.sh - Envoltorio universal para scripts de la comunidad de Proxmox
  2. pve-docker-fix - Corrige contenedores existentes que ya están rotos
  3. pve-docker-rollback - Elimina la solución cuando están disponibles correcciones oficiales
  4. pct-patched - Envoltorio interno (usado automáticamente por pve-script-wrapper.sh)

Cómo Funciona

Los scripts detectan automáticamente el SO de su contenedor y aplican la solución AppArmor adecuada:

Para todos los contenedores:

lxc.apparmor.profile: unconfined

Solo para contenedores Ubuntu:

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

La primera línea deshabilita el confinamiento de AppArmor (requerido para todas las distribuciones). La segunda línea enmascara la detección del módulo AppArmor y solo es necesaria para contenedores Ubuntu; los contenedores Debian normalmente funcionan sin ella (runc#4968).

Detección Automática del SO: Los scripts detectan automáticamente si su contenedor es Ubuntu o Debian y aplican solo las líneas de configuración necesarias.

📦 Instalación

En su host Proxmox VE, ejecute:

# Descargar todos los 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

# Hacerlos ejecutables
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

O clone el repositorio:

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

Ejecutar Scripts de la Comunidad con Corrección Automática

En lugar de:

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

Use:

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

Esto funciona con cualquier script de la comunidad de Proxmox que cree contenedores LXC:

# 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

# Y cualquier otro script que instale entornos de ejecución de contenedores

Corregir Contenedores Existentes

Si ya tiene un contenedor roto:

# Corregir contenedor 105
pve-docker-fix 105

# Corregir sin reinicio automático
pve-docker-fix 105 --no-restart

La herramienta:

  1. Comprobará si la corrección ya está aplicada
  2. Detendrá el contenedor (con confirmación)
  3. Aplicará la solución AppArmor
  4. Reiniciará el contenedor

Corrección Manual

Si prefiere aplicar la corrección manualmente:

# Detener el contenedor
pct stop 105

# Editar el archivo de configuración
nano /etc/pve/lxc/105.conf

# Agregar esta línea al final (requerida para todos los contenedores):
lxc.apparmor.profile: unconfined

# Para contenedores Ubuntu, agregar también esta línea:
lxc.mount.entry: /dev/null sys/module/apparmor/parameters/enabled none bind 0 0

# Iniciar el contenedor
pct start 105

Nota: Los contenedores Debian normalmente solo necesitan la primera línea. Los contenedores Ubuntu necesitan ambas líneas. Consulte runc#4968 para detalles técnicos.

Revertir la Corrección

Cuando estén disponibles correcciones oficiales (actualizaciones de Proxmox/LXC/AppArmor), puede eliminar la solución:

# Listar todos los contenedores con la solución
pve-docker-rollback --list

# Eliminar de un contenedor específico
pve-docker-rollback 105

# Vista previa de cambios sin modificar
pve-docker-rollback 105 --dry-run

# Eliminar de todos los contenedores a la vez
pve-docker-rollback --all

# Eliminar sin reinicio (los cambios se aplican en el próximo inicio)
pve-docker-rollback 105 --no-restart

# Eliminar de todos los contenedores sin confirmación
pve-docker-rollback --all --force

La herramienta de reversión:

  1. Detectar si la solución está aplicada
  2. Mostrar qué líneas se eliminarán
  3. Solicitar confirmación (a menos que se use --force)
  4. Eliminar la configuración de AppArmor
  5. Reiniciar el contenedor si es necesario

Cuándo revertir:

  • Espere anuncios de que las correcciones oficiales están disponibles
  • Monitoree runc#4968 para actualizaciones
  • Pruebe primero en contenedores no críticos
  • Verifique que Docker/contenedores funcionen después de la reversión antes de eliminar en producción

🔧 Cómo Funciona Técnicamente

pve-script-wrapper.sh

  • Crea un directorio temporal con un enlace simbólico a pct-patched
  • Modifica PATH para priorizar el envoltorio
  • Descarga y ejecuta el script de la comunidad
  • El script usa de forma transparente el comando pct parcheado

pct-patched

  • Intercepta comandos pct create
  • Llama al verdadero /usr/sbin/pct para crear el contenedor
  • Detecta el tipo de SO del contenedor (Ubuntu vs Debian)
  • Inmediatamente después de la creación, inyecta la configuración AppArmor adecuada en /etc/pve/lxc/$CTID.conf
  • Pasa sin cambios todos los demás comandos pct
Descargar herramienta