| Nom du plugin | Calendrier de réservation |
|---|---|
| Type de vulnérabilité | Script intersite (XSS) |
| Numéro CVE | CVE-2025-12804 |
| Urgence | Faible |
| Date de publication CVE | 2026-02-01 |
| URL source | CVE-2025-12804 |
Avis de sécurité urgent : XSS stocké dans le plugin Booking Calendar (≤ 10.14.6) — Ce que les propriétaires de sites WordPress doivent faire maintenant
Résumé (perspective d'un consultant en sécurité à Hong Kong) : Le 2 février 2026, une vulnérabilité de script intersite stocké (XSS) affectant le plugin Booking Calendar pour WordPress a été divulguée publiquement (CVE-2025-12804). Les versions jusqu'à 10.14.6 incluses sont affectées ; le problème est corrigé dans 10.14.7. Bien que de nombreux scores publics qualifient la gravité technique de faible, le risque pratique dépend de la configuration du site, des rôles et de la manière dont le plugin est utilisé. Considérez cela comme un examen opérationnel de haute priorité si vous utilisez Booking Calendar sur un site public ou à accès partagé.
- Logiciel affecté : plugin Booking Calendar pour WordPress (≤ 10.14.6)
- Vulnérabilité : Script intersite stocké (XSS) via le shortcode bookingcalendar
- CVE : CVE-2025-12804
- Privilège requis pour l'exploitation : Contributeur (authentifié)
- Corrigé dans : 10.14.7
- Contexte de gravité publique : CVSS 6.5 (interaction utilisateur requise)
- Meilleure action immédiate : mettre à jour vers 10.14.7 ou une version ultérieure ; si vous ne pouvez pas mettre à jour immédiatement, appliquez un patch virtuel via un WAF et renforcez les rôles.
Que s'est-il passé ? Un résumé technique concis
Le XSS stocké se produit lorsque des données non fiables soumises par un utilisateur authentifié sont enregistrées par l'application et ensuite rendues dans des pages sans échappement ou assainissement adéquats. Dans ce cas, un contenu malveillant peut être injecté dans des données qui sont ensuite sorties par le shortcode bookingcalendar du plugin. La charge utile stockée s'exécutera dans le contexte des navigateurs des utilisateurs qui visitent des pages où ce shortcode est rendu.
Points techniques clés :
- Le vecteur d'injection est via le contenu qu'un utilisateur ayant des privilèges de niveau Contributeur peut créer ou modifier.
- Le contenu malveillant devient persistant et est ensuite servi aux visiteurs ou aux administrateurs via la sortie du shortcode.
- L'exploitation réussie nécessite qu'un utilisateur cible charge la page affectée (interaction utilisateur).
- L'auteur du plugin a corrigé le problème dans la version 10.14.7 — mettez à niveau immédiatement si possible.
Pourquoi cela importe — scénarios de menaces réalistes
Le XSS stocké est un puissant primitif car les scripts exécutés s'exécutent dans le navigateur de quiconque visite la page affectée et sont limités par la confiance de la victime dans le site. Pour Booking Calendar, les risques réalistes incluent :
- Vol de session : un administrateur ou un éditeur visitant une page affectée pourrait avoir des cookies ou des jetons de session ciblés par JavaScript (à moins que les cookies ne soient correctement marqués HttpOnly, Secure).
- Pipelines d'escalade de privilèges : un contributeur injecte un payload qui s'exécute uniquement pour les administrateurs ; une fois que le navigateur d'un administrateur est contrôlé, l'attaquant peut effectuer des actions via l'interface utilisateur de l'administrateur.
- Injection de contenu / défiguration : redirections, faux superpositions ou contenu trompeur affiché aux visiteurs.
- SEO / empoisonnement de la chaîne d'approvisionnement : insertion de liens malveillants ou de spam qui nuisent à la réputation de recherche.
- Distribution de logiciels malveillants : redirection ou forçage de téléchargements de navigateur vers des hôtes malveillants.
La complexité d'exploitation n'est pas triviale : l'attaquant nécessite un compte Contributeur (ou supérieur) et une victime pour charger la page. Cependant, les sites permettant des inscriptions publiques ou des contributions d'invités augmentent le risque pratique.
Qui est à risque ?
- Sites exécutant des versions de Booking Calendar ≤ 10.14.6.
- Sites qui permettent des rôles de Contributeur/Auteur sans modération stricte.
- Sites qui rendent des shortcodes bookingcalendar sur des pages visitées par des utilisateurs privilégiés ou le public.
- Sites manquant de mesures d'atténuation côté navigateur (CSP, cookies HttpOnly, SameSite, en-têtes de sécurité).
- Sites sans protections périmétriques ou patching virtuel pendant que les mises à jour sont appliquées.
Actions immédiates pour les propriétaires de sites (étape par étape)
L'ordre compte — commencez par des vérifications non perturbatrices, puis containment et récupération :
- Confirmez la version du plugin : Dans le tableau de bord WordPress → Plugins, vérifiez la version de Booking Calendar. Si elle est 10.14.7 ou plus récente, vous n'êtes pas vulnérable à ce problème. Sinon, continuez ci-dessous.
- Mettre à jour le plugin : Mettez à jour Booking Calendar vers 10.14.7 ou une version ultérieure dès que possible. C'est l'action la plus efficace. Si vous avez des environnements de staging et des tests automatisés, vérifiez d'abord là-bas puis mettez à jour la production rapidement.
- Si vous ne pouvez pas mettre à jour immédiatement : appliquez un patch virtuel / des règles périmétriques : Utilisez votre WAF ou proxy inverse pour bloquer les entrées et modèles suspects. Des règles correctement ajustées peuvent prévenir les XSS stockés en rejetant les entrées qui incluent des balises script, des attributs d'événement (onerror/onload) et des URI javascript : dans les champs qui alimentent la sortie de shortcode.
- Réduisez l'exposition via les rôles d'utilisateur : Restreignez temporairement qui peut publier ou éditer du contenu qui sera rendu par le shortcode bookingcalendar. Exigez une révision avant publication et désactivez les inscriptions ouvertes si possible.
- Renforcer l'accès administrateur : Appliquez l'authentification à deux facteurs pour les comptes administrateur/éditeur, restreignez l'accès à la zone admin par IP lorsque cela est possible, et assurez-vous que les cookies sont définis sur Secure et HttpOnly lorsque cela est possible.
- Surveillez et scannez : Recherchez dans la base de données du contenu de shortcode suspect, et examinez les soumissions récentes des contributeurs. Surveillez les journaux WAF et serveur pour des tentatives répétées ou des requêtes POST anormales.
- Réponse à l'incident (si vous détectez une exploitation) : Isolez le site (mode maintenance), révoquez les comptes compromis, sauvegardez les journaux et les preuves, supprimez le contenu malveillant ou restaurez une sauvegarde propre, faites tourner les identifiants, et réalisez un examen post-incident.
Détection : quoi rechercher dans les journaux et la base de données
Les XSS stockés laissent souvent des artefacts. Recherchez de manière proactive :