WP Booking Systemにメモ削除の脆弱性、修正版あり
WordPressの予約プラグインWP Booking Systemに、Subscriber権限のユーザーが予約カレンダーのメモを消せる脆弱性が公表されました。該当版を使うサイトは修正版へ更新し、登録ユーザーの状況も確認してください。
急ぎ度: 早めに
CVSS v3は9.1と高いものの、説明ではSubscriber以上のログインが前提で、影響はカレンダーのメモの削除にとどまり、修正の反映も確認できるため、至急ではなく早めの更新を勧めます。
関係があるか
WordPressでWP Booking System-Booking Calendarを使い、予約の管理にカレンダーのメモを使っているサイトが対象です。とくに、会員登録を一般に開いていて、登録者がSubscriberになるサイトは注意が必要です。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| WP Booking System-Booking Calendar(WordPressプラグイン) | 2.1.0.5以前 | 2.1.0.5より新しい版。具体的な版番号は、WordPressの管理画面の更新通知か、プラグイン配布ページの更新履歴で確認してください |
確かめ方
- 1WordPressの管理画面で、プラグインの一覧からWP Booking Systemの版を確認する。2.1.0.5以前なら該当します
- 2「設定」の「一般」で、誰でもユーザー登録できる設定になっていないか、新規ユーザーの権限グループが何かを確認する
- 3ユーザー一覧でSubscriber権限のアカウントを洗い出し、心当たりのないものがないか見る
何が起きたか
WP Booking Systemでは、予約カレンダーに付けたメモを、サイトにログインしただけの低権限ユーザーが削除できてしまいます。しかも、自分が見られるカレンダーに限らず、どのカレンダーのメモでも対象になります。2026年10月31日に公表された脆弱性です。
原因は、メモを削除する処理(wpbs_action_ajax_calendar_remove_note())で、実行してよい権限かどうかの確認が抜けていたことです。分類はCWE-862(認可の欠如)で、2.1.0.5までの版が該当します。
プラグインの公開リポジトリには、このメモ処理のファイルを直す変更が反映されています。
攻撃の流れ
-
1
低権限で入る
Subscriber権限のアカウントでサイトにログインします。
-
2
削除処理を呼ぶ
権限の確認がないメモ削除の処理を、管理者ではないアカウントから実行します。
-
3
他人のメモを消す
どのカレンダーのメモでも削除でき、運用中の予約メモが失われます。
どう悪用されるか
説明によると、悪用にはサイトへのログインが必要で、Subscriber以上の権限があれば足ります。ネットワーク越しに実行でき、管理者など他のユーザーに操作させる必要はありません。会員登録を誰にでも開いているサイトでは、外部の人が自分でアカウントを作り、この条件を満たせる点が気になるところです。
被害は、カレンダーのメモが削除されることです。スタッフ間の引き継ぎ事項や予約に関する注意書きをメモに残している場合、業務に支障が出ます。CVSSのベクターでは必要な権限が「なし」と評価され、説明の「ログイン済み」とずれています。実際の条件は説明のとおり、アカウントが必要と考えるのが妥当でしょう。
説明には、メモの閲覧や、メモ以外のデータの削除は書かれていません。
今すぐやること
-
1
プラグインの版を確認する
管理画面のプラグイン一覧か、WP-CLIが使える環境なら次のコマンドで版を確認します。2.1.0.5以前なら更新の対象です。
wp plugin get wp-booking-system --field=version -
2
修正版へ更新する
更新前にデータベースとファイルのバックアップを取り、検証環境があれば予約画面とメモ機能の動作を見てから本番に適用します。有料版を使っている場合は、提供元の告知で更新方法と修正版の番号を確認してください。
-
3
ユーザー登録の設定を見直す
一般向けの会員登録が不要なら閉じます。すでにあるSubscriberアカウントのうち、使っていないものや心当たりのないものは削除または停止します。
wp option get users_can_register -
4
メモが消えていないか確認する
運用で使っているカレンダーのメモが、直近のバックアップと食い違っていないかを見ます。消えているものがあれば、バックアップから戻せるかを調べます。
すぐ更新できないとき
すぐに更新できない間は、ユーザー登録を閉じ、不要なSubscriberアカウントを整理して、ログインできる人を絞ります。メモを業務で頻繁に使わないなら、更新できるまでプラグインを停止する手もあります。予約の受付に影響が出ないかは、事前に確認してください。メモのバックアップを取っておくと、削除されても戻せます。
背景
WP Booking System-Booking Calendarは、宿泊施設・サロン・レンタルなどのサイトで、予約カレンダーと受付フォームをWordPress上に置くためのプラグインです。カレンダーにはメモを付けられ、スタッフ間の引き継ぎや、特定日の注意事項を残す使い方があります。メモは顧客向けに表示するものではありませんが、日々の運用で頼りにされる情報です。
WordPressのプラグインは、画面の裏で動くAjaxの処理を自分で登録します。その処理が、実行者の権限を自分で確認していなければ、ログインしているだけの利用者にも開かれます。Subscriberは、会員登録を開いたサイトで新規登録者に割り当てられることの多い、最も低い権限です。今回は削除処理にその確認がなく、低権限のアカウントでも他のカレンダーのメモに手が届く状態になっていました。
よくある質問
Q.顧客の予約情報や個人情報が読まれる心配はありますか。
Q.消されたメモは元に戻せますか。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 修正版 |
|---|---|---|---|
| murgroland | WP Booking System – Booking Calendar |
2.1.0.5 以前 |
— |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
The WP Booking System - Booking Calendar plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on the wpbs_action_ajax_calendar_remove_note() function in versions up to, and including, 2.1.0.5 This makes it possible for authenticated attackers, with Subscriber-level access and above, to delete arbitrary calendar notes belonging to any calendar.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory