CVSS 9.1 CRITICAL 未ログインで悪用可能
| 対象 | プラグイン Popup Builder (Popup Builder – Create highly converting, mobile friendly marketing popups.) 有効インストール約 200,000 件 |
|---|---|
| 影響バージョン | 4.4.5 以下 |
| 修正版 | 4.4.6 |
| CVE | CVE-2026-89270 |
| 種類 | 認証バイパス(Missing Authorization) |
| 悪用される確率(EPSS) | 0.39%(全脆弱性の上位 66%) |
| 公表 | 2026年10月31日 当サイト掲載: 2026年11月2日 12:20 |
何が起きるか
Popup Builder 4.4.5以前では、ログインしていない第三者がサイト上の公開中ポップアップをすべてゴミ箱へ移動できます。ポップアップが一斉に表示されなくなり、集客や告知に支障が出るおそれがあります。
想定される被害と条件
- 公開中のポップアップがすべてゴミ箱へ移動され、サイトに表示されなくなる
- メルマガ登録やキャンペーン告知など、ポップアップ経由の集客・売上機会が失われる
- ログイン不要で攻撃できるため、Popup Builder 4.4.5以前を有効化しているサイトはすべて対象になる
- 復元するまで、意図しないポップアップの停止状態が続く
今日やること
Popup Builderを4.4.6以上に更新し、すぐ更新できない場合はプラグインの一時停止を検討してください。
すぐに更新できない場合
すぐ更新できない場合は、Popup Builderを一時的に停止してください。WAFやセキュリティプラグインで未ログインの不審なアクセスを遮断することも有効です。
更新後に確認すること
- 管理画面「Popup Builder」→「All Popups」で、公開中だったポップアップが残っているか確認する
- ポップアップ一覧の「ゴミ箱」を開き、身に覚えのない削除がないか確認し、あれば「復元」する
- サイトを実際に開き、ポップアップが意図どおり表示されるか確認する
- サーバーやセキュリティプラグインのアクセスログに、未ログインの不審なアクセスがないか確認する
不審な投稿・ユーザー・ファイルが見つかった場合は、専門家への相談をおすすめします。
Popup Builder の現在の情報 (WordPress.org、2026-11-02 取得)
| 最新版 | 4.4.6 修正版を含む |
|---|---|
| 対応 WordPress | 4.2 以上(検証済み 7.0.8) |
| 最終更新 | 2026-10-19 4:04pm GMT |
| 有効インストール | 200,000+ |
| リンク | WordPress.org のページ 公式サイト |
技術的な詳細(修正差分の解析)
修正前後のコード(4.4.5 → 4.4.6)を WordPress.org から取得して差分を解析しました。特定の確度: 高。攻撃に使える手順は記載していません。
原因となった処理
- SGPopup::getActivePopupsQueryString() は、管理画面の一覧から除外するポップアップを集める読み取り用の処理です。しかし実際には、条件に合ったポップアップに対して wp_trash_post() を呼び、ゴミ箱へ移動する書き込みまで行っていました。
- この処理は Filters::excludePostToShowPrepare() から呼ばれていましたが、is_admin() の確認がありませんでした。そのため、管理画面に限らずフロントエンドのリクエストでも実行される状態でした。
- ゴミ箱へ移す処理を起動する条件は、URL のクエリパラメータ(投稿タイプ指定など)だけでした。権限チェック(current_user_can)も nonce 検証もなく、未ログインの訪問者の GET リクエストでもデータが変更されました。
- SGPopup::find() は、プレビュー用パラメータが付いていると、対象のポップアップ ID と一致するかを確かめずに、すべてのポップアップをプレビュー扱いにしていました。その結果、通常公開中のポップアップでも find() が false を返していました。
- 上の2つの不備が組み合わさると、公開中の全ポップアップが『無効なタイプのポップアップ』と誤判定されます。その結果、1回のリクエストでサイト上の全ポップアップがゴミ箱へ移されました(完全性と可用性の侵害)。
被害が起きる前提条件
- Popup Builder プラグイン 4.4.5 以下が有効化されていること
- サイトに公開済みのポップアップが1件以上あること(ログインや特別な権限は不要で、攻撃者はサイトに HTTP アクセスできれば足ります)
- 特別な設定は不要で、標準構成のままフロントエンドから処理が起動されること
修正版での変更
- getActivePopupsQueryString() からゴミ箱移動の処理を削除し、非表示対象の ID を記録するだけの読み取り専用関数にしました。
- excludePostToShowPrepare() に is_admin() のガードを追加し、除外処理が管理画面でしか動かないようにしました。
- SGPopup::find() は、プレビュー用パラメータの ID と対象ポップアップの ID が一致する場合にだけプレビュー扱いにするよう修正されました。
- 無効なタイプのポップアップの削除は、管理画面の通知から実行する専用アクション trashHiddenPopups に分離しました。このアクションでは manage_options 権限、nonce(check_admin_referer)、投稿ごとの delete_post 権限を確認します。あわせて、購読者名のサニタイズや出力エスケープといった XSS 対策も追加されました。
主な修正ファイル: com/classes/popups/SGPopup.php, com/classes/Filters.php, com/classes/Actions.php, com/classes/Ajax.php, com/classes/dataTable/Subscribers.php
原文(Wordfence Intelligence)
The Popup Builder – Create highly converting, mobile friendly marketing popups. plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 4.4.5 This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to trash all published popups on the site with a single unauthenticated GET request. The attack is amplified by a second flaw in SGPopup::find(), which returns false for every normally published popup when the sg_popup_preview_id parameter is present, causing the trash branch to fire against every popup on the site simultaneously.
参考リンク
脆弱性情報の出典と著作権
脆弱性情報の出典: Wordfence Intelligence のレコード。Copyright 2012-2026 Defiant Inc. License: Defiant hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute this software vulnerability information. Any copy of the software vulnerability information you make for such purposes is authorized provided that you include a hyperlink to this vulnerability record and reproduce Defiant's copyright designation and this license in any such copy. Read more.
CVE: Copyright 1999-2026 The MITRE Corporation. CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Terms of Use.
本ページの作成について: 上記の出典データをもとに、「何が起きるか」「今日やること」「更新後に確認すること」などの日本語解説は生成 AI が作成し、サイトの主治医が随時確認しています。誤りに気づかれた場合はお問い合わせください。
最近公表された深刻度の高い脆弱性
- WordPressプラグイン「s2Member」にリモートコード実行の脆弱性(CVE-2026-86596) 2026/11/02
- WordPressプラグイン「Ultra Addons for Contact Form 7」に任意ファイル削除の脆弱性(CVE-2026-102435) 2026/11/02
- WordPressプラグイン「NextGEN Gallery」にリモートコード実行の脆弱性(CVE-2026-76010) 2026/10/31
- WordPressプラグイン「Debug Log Manager」にXSSの脆弱性(CVE-2026-120114) 2026/10/31
- WordPressプラグイン「WP Directory Kit」にSQLインジェクションの脆弱性(CVE-2026-109197) 2026/10/31

