WordPress « Comment2Shell » : d’un commentaire anonyme à un web shell
Une faille du cœur de WordPress (4.7 à 7.1) transforme un commentaire anonyme en script exécuté dans la session d’un administrateur, jusqu’à l’installation d’un web shell. Corrigée en 7.1.1.
Contexte
La CVE-2026-93485 (CVSS 7.1) touche le cœur de WordPress, de la version 4.7 à la 7.1. Elle est corrigée en 7.1.1, 7.0.5 et 6.9.8, avec des correctifs portés jusqu’à la branche 4.7.36. Aucune exploitation n’est signalée à ce jour. Ce portfolio est maintenu sur une version corrigée.
Analyse
- Un visiteur anonyme publie un commentaire qui contient un saut de ligne à l’intérieur d’un attribut de balise HTML.
- Lors de la mise en forme pour l’affichage, WordPress coupe la balise en deux : le texte de l’attaquant se retrouve interprété comme un gestionnaire d’événement, exécuté au chargement de la page sans aucune interaction.
- Si un administrateur connecté ouvre la page, le script s’exécute avec ses droits et peut téléverser une extension contenant un web shell, ce qui donne l’exécution de commandes sur le serveur.
- Conditions : le commentaire doit être affiché (la modération n’est pas une protection par défaut), un administrateur doit visiter la page, et le thème doit utiliser le formatage concerné.
Remédiation
- Mettre à jour WordPress, idéalement avec les mises à jour automatiques de sécurité activées.
- À défaut : désactiver les commentaires ou filtrer les commentaires forgés avec un WAF ou une extension de sécurité.
- Bonne pratique : ne pas naviguer sur le site public avec une session administrateur ouverte, et bloquer l’édition de fichiers depuis l’administration en production.
À retenir
- Une XSS stockée devient une exécution de code dès qu’elle s’exécute dans la session d’un administrateur.
- Côté détection : surveiller l’apparition de nouveaux fichiers PHP dans
wp-content/plugins(contrôle d’intégrité Wazuh) et les commentaires contenant des attributson*.