| Nom du plugin | Carrousel de galerie en mosaïque sans JetPack |
|---|---|
| Type de vulnérabilité | Script intersite (XSS) |
| Numéro CVE | CVE-2026-5191 |
| Urgence | Faible |
| Date de publication CVE | 2026-06-02 |
| URL source | CVE-2026-5191 |
XSS stocké d'un contributeur authentifié dans le carrousel de galerie en mosaïque — Ce que les propriétaires de sites WordPress devraient faire maintenant
Par : Expert en sécurité de Hong Kong | Date : 2026-06-02
Nous avons identifié un problème de cross-site scripting (XSS) stocké dans le plugin Carrousel de galerie en mosaïque (vulnérable jusqu'à et y compris 3.1). Un utilisateur authentifié avec un compte de niveau Contributeur peut injecter du HTML/JavaScript qui est ensuite rendu aux visiteurs du site. Cette vulnérabilité est suivie sous le nom de CVE-2026-5191 et a un score CVSS de 6.5. Au moment de la rédaction, aucun correctif du fournisseur n'est disponible.
Si votre site WordPress utilise une variante de plugin de galerie/carrousel en mosaïque qui supprime certaines intégrations, considérez cela comme une révision de haute priorité même si le trafic est faible — de telles vulnérabilités sont souvent abusées dans des campagnes d'exploitation de masse.
TL;DR (Résumé rapide)
- Vulnérabilité : XSS stocké. Le rôle de contributeur peut stocker du HTML/JavaScript qui est affiché sur le site public.
- Plugin affecté : variante de plugin de galerie/carrousel (vulnérable ≤ 3.1).
- CVE : CVE-2026-5191. CVSS : 6.5 (moyen).
- Interaction utilisateur : L'attaquant a besoin d'un compte authentifié avec des privilèges de contributeur ; la victime doit visiter une page qui rend le contenu malveillant.
- Options défensives immédiates :
- Désactiver temporairement le plugin ou restreindre la création/l'édition de galeries.
- Supprimez les comptes Contributeurs inutiles.
- Appliquer des règles de niveau edge ou application pour bloquer les balises script et les gestionnaires d'événements en ligne dans les champs de galerie.
- Nettoyer les métadonnées de galerie existantes et le post_content pour les balises script.
- À long terme : Appliquer le correctif du fournisseur lorsqu'il sera disponible, mettre en œuvre le principe du moindre privilège, adopter le patching virtuel et la surveillance, et revoir les rôles et flux de travail des utilisateurs.
Pourquoi le XSS stocké d'un contributeur est sérieux (même si le CVSS est “ moyen ”)
Bien que les contributeurs ne puissent pas publier directement, de nombreux plugins de galerie leur permettent de créer ou d'éditer des données de galerie qui sont ensuite publiées par des éditeurs ou des administrateurs. Si le plugin ne parvient pas à nettoyer ou à échapper correctement aux données stockées, ce contenu peut s'exécuter dans le navigateur de tout visiteur qui consulte la galerie — y compris les utilisateurs ayant des privilèges plus élevés.
Le XSS stocké permet à un attaquant de :
- Exécuter du JavaScript arbitraire dans les navigateurs des visiteurs (vol de session, élévation de privilèges dans certains contextes).
- Injecter des redirections vers des pages de phishing, du spam SEO furtif ou de la défiguration.
- Persister des scripts malveillants comme des portes dérobées pour une exploitation ultérieure.
- Livrer d'autres exploits côté client ou CSRF basés sur le navigateur ciblant les utilisateurs administrateurs connectés.
Parce que les légendes de galerie, le texte alternatif ou les blobs JSON semblent souvent innocents, le contenu malveillant peut rester caché pendant de longues périodes et peut être exploité en masse une fois qu'un point d'injection fiable est connu.
Comment la vulnérabilité fonctionne généralement (aperçu technique)
- Le plugin accepte des données riches ou semi-structurées des contributeurs (par exemple, titres de galerie, légendes, paramètres, blobs JSON stockés comme postmeta).
- Le plugin ne parvient pas à nettoyer ou à échapper certains champs avant de les enregistrer (ou échoue à échapper à la sortie).
- Le contributeur soumet une charge utile contenant un )/is', '', $item );)/is', '', $clean );
Important :
- Il s'agit d'une atténuation à court terme. Testez sur un environnement de staging avant de déployer.
- Remplacez les clés méta de remplacement par celles réellement utilisées par votre plugin (inspectez
wp_postmetaau besoin). - Utilisez
wp_ksesavec une liste blanche HTML autorisée qui convient à votre site. Ne pas autoriser brut