🚨 Exécution de code à distance (RCE) non authentifiée via téléchargement de fichier
📌 Aperçu
- Projet : QloApps
- Dépôt : https://github.com/Qloapps/QloApps
- Version(s) concernée(s) : <= 1.7.0
- Classe de vulnérabilité : Exécution de code à distance non authentifiée
- Sévérité : Critique
- CVSS v3.1 : (Critique) 9.8 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Identifiant CVE : CVE-2025-67325
- Découvert par : Neakk Pornlur
- Date de divulgation : 2026-01-09
🧩 Description
Le téléchargement de fichier sans restriction dans la fonctionnalité d'avis sur les hôtels de QloApps versions 1.7.0 et antérieures permet à des attaquants distants non authentifiés d'obtenir une exécution de code à distance.
🎯 Point de terminaison concerné
/module/qlohotelreview/default
⚠️ Cause racine
La vulnérabilité existe en raison de :
- Validation manquante de l'extension des fichiers.
- Exécution directe des fichiers téléchargés par le serveur.
- Aucun contrôle d'authentification ou d'autorisation appliqué sur le point de terminaison.
🔥 Impact
Une exploitation réussie permet à un attaquant de :
- Exécuter des commandes système arbitraires.
- Lire/écrire/supprimer des fichiers sensibles du serveur.
- Accéder aux identifiants de la base de données.
- Pivoter vers les services réseau internes.
- Compromettre entièrement le serveur d'hébergement.
Cette vulnérabilité entraîne une perte totale de confidentialité, d'intégrité et de disponibilité (Triade CIA).
🛠️ Preuve de concept (PoC) sur QloApps version 1.7.0
Nous avons besoin d'un id_order valide et d'un jeton Ajax pour requêter le point de terminaison vulnérable. Pour l'id_order, nous le bruteforçons manuellement en commençant par 1, ou nous créons un compte invité et réservons une chambre pour obtenir cet id_order. Pour le jeton Ajax, nous pouvons l'obtenir depuis n'importe quelle page de chambre d'hôtel.
1. Obtention du jeton Ajax
2. Évaluer un hôtel et téléverser notre web shell image+php spécialement conçu.
3. Déclenchement de l'exécution de code à distance
nous pouvons trouver notre web shell téléversé à l'adresse https://target.com/modules/qlohotelreview/views/img/review/<id_order>/1.php
