| Nom du plugin | Royal Elementor Addons |
|---|---|
| Type de vulnérabilité | XSS |
| Numéro CVE | CVE-2024-12120 |
| Urgence | Moyen |
| Date de publication CVE | 2026-02-03 |
| URL source | CVE-2024-12120 |
Directive critique — CVE-2024-12120 : XSS stocké authentifié (Contributeur) dans Royal Elementor Addons (<= 1.7.1017)
Auteur : Expert en sécurité de Hong Kong
Date : 2026-02-03
Résumé : Une vulnérabilité de type Cross-Site Scripting (XSS) stockée (CVE-2024-12120) a été divulguée dans le plugin Royal Elementor Addons & Templates affectant les versions ≤ 1.7.1017. Un utilisateur authentifié avec des privilèges de niveau Contributeur peut injecter du JavaScript stocké qui peut s'exécuter dans le navigateur d'utilisateurs ou de visiteurs du site ayant des privilèges plus élevés. Ce post explique les détails techniques, le risque dans le monde réel, les étapes de détection et les stratégies d'atténuation pratiques que vous pouvez appliquer immédiatement du point de vue d'un praticien de la sécurité à Hong Kong.
TL;DR — Faits rapides
- Vulnérabilité : Cross-Site Scripting (XSS) stocké
- CVE : CVE-2024-12120
- Logiciel affecté : plugin Royal Elementor Addons & Templates ≤ 1.7.1017
- Corrigé dans : 1.7.1018 (mettez à jour immédiatement)
- Privilège requis pour l'attaquant : Contributeur authentifié (ou supérieur, selon la configuration du site)
- Vecteur d'exploitation : L'attaquant stocke la charge utile dans le(s) champ(s) contrôlé(s) par le plugin ; le script s'exécute lorsque des utilisateurs ou des visiteurs privilégiés consultent le contenu stocké
- Risque : Moyen (CVSS ~6.5 rapporté) — l'attaquant peut exécuter du JavaScript côté navigateur provoquant le vol de session, l'injection de contenu ou la persistance
- Atténuations immédiates : Mettre à jour le plugin, supprimer/limiter les comptes de Contributeur, appliquer des correctifs virtuels au niveau de l'inspection des requêtes, scanner pour du contenu injecté
Pourquoi cela importe (impact dans le monde réel)
Le XSS stocké est l'une des vulnérabilités côté client les plus dangereuses. Lorsque du JavaScript arbitraire est enregistré dans la base de données et exécuté plus tard dans le navigateur d'un autre utilisateur, les attaquants peuvent :
- Voler des cookies ou des jetons de session des administrateurs et tenter de prendre le contrôle complet du site.
- Effectuer des actions dans le navigateur au nom d'un utilisateur privilégié (modifier des paramètres, installer des plugins, publier du contenu).
- Injecter du contenu malveillant persistant (redirections, publicités indésirables ou portes dérobées basées sur le DOM).
- Créer une persistance qui survit aux analyses de fichiers, puisque les charges utiles résident dans la base de données.
- Combiner avec d'autres faiblesses pour escalader l'impact ou exfiltrer des données.
Parce que ce bug peut être déclenché par un compte de niveau Contributeur — un rôle fréquemment utilisé pour les auteurs et les soumissionnaires de contenu — les sites acceptant du contenu soumis par les utilisateurs sont particulièrement à risque.
Vue d'ensemble technique : comment la vulnérabilité fonctionne
Il s'agit d'un XSS stocké classique causé par une validation d'entrée insuffisante et un manque d'échappement de sortie dans l'interface utilisateur ou la logique de rendu du plugin. En termes pratiques :
- Un utilisateur authentifié avec des privilèges de contributeur crée ou met à jour un champ de contenu exposé par le plugin (description du modèle, paramètre de widget, attribut de shortcode ou postmeta géré par le plugin).
- Le plugin accepte et enregistre l'entrée sans une sanitation appropriée.
- Plus tard, lorsqu'un administrateur/éditeur ou un visiteur consulte une page ou un écran d'administration qui rend le champ stocké, le plugin affiche les données sans encodage, permettant l'intégration de