脆弱性 / VULNERABILITIES / WORDPRESS
WordPress寄付プラグインGiveWPで最大深刻度のRCE脆弱性 — 登録無効でもアカウント作成を悪用、修正版4.16.7.2が公開
10万超が導入するWordPress向け寄付プラグインGiveWPで、認証後に任意のOSコマンドを実行される脆弱性CVE-2026-82222が修正された。WordPress側で登録を無効化していても露出する登録機能を悪用してアカウントを作成し、寄付処理に細工したシリアライズデータを送り込むことで実行に至る。開発元は8月27日に4.16.7.2で対策し、既存の悪性データの除去も行った。
WordPress向け寄付プラグイン「GiveWP」で、認証後に任意のOSコマンドを実行される最大深刻度の脆弱性が修正された。開発元は2026年8月27日にバージョン4.16.7.2を公開し、寄付処理におけるシリアライズデータの取り扱いを硬化したと説明している。報告者はPatchstack経由のUdin Chan氏で、WordPress側でユーザー登録を無効化していても悪用に必要なアカウント作成が可能だった点が特徴である。
影響を受けるバージョンと深刻度
GiveWPは寄付の収集やキャンペーン管理を行うプラグインで、10万以上のサイトに導入されている。今回の脆弱性はCVE-2026-82222として追跡され、4.16.7.1までのバージョンが影響を受ける。修正版は4.16.7.2である。GitHubのリリースノートは「Security: Added additional hardening for serialized data handling in the donation flow.」と記載している。
深刻度は最大(maximum-severity)とされ、成功するとホスティングサーバ上で攻撃者が任意のコマンドを実行できる。Patchstackの分析によれば、脆弱性は2026年7月28日に同プラットフォーム経由で報告された。
攻撃の流れ — 登録無効でもアカウントを作成できる
Patchstackの研究者らが説明した攻撃チェーンは、3つの問題を連鎖させる。
- PHPデータのunserializeを扱う安全でないヘルパーが存在する。
- 寄付処理フローが攻撃者制御のシリアライズオブジェクトを保存してしまう。
- プラグインに同梱されたライブラリのgadget chainが任意のシステムコマンド呼び出しに到達する。
通常は攻撃者がサイト上でアカウントを持つことが前提だが、GiveWPは認証不要の登録アクション give_action=user_register を露出しており、WordPressの users_can_register 設定を参照しない。Patchstackは「登録を無効化しているサイトでも、攻撃者はアカウントを作成して認証クッキーを取得し、同一シーケンスで残りの攻撃を続行できる」と説明している。
認証後、攻撃者は自身のプロフィールに悪性のシリアライズオブジェクトを格納し、細工した寄付リクエストを送信してプラグインのセッションDBへ注入する。Patchstackの研究者George Johnstone氏は「サーバはHTTP 500を返す前にgadgetオブジェクトを wp_give_sessions へ書き込む」と述べている。その後、認証クッキー付きで任意のフロントエンドページへリクエストすると、サーバ側でunserializeが発生してコマンドが実行される。
旧式フォームが残る環境が条件
Patchstackによれば、バージョン4.16.6から4.16.7.1は脆弱だが、悪用にはレガシーな寄付フォームが存在し formBuilderSettings を持たないことが条件になる場合がある。アップグレードした環境や、プラグインのオプション型フォームエディタを使っているサイト、古いフォームをインポート・復元したサイトでこの条件が残る可能性があるとしている。
修正内容と残る登録機能の挙動
開発元は4.16.7.2で次の対策を実施した。
- 寄付処理中のシリアライズデータのブロック
- 複数のデシリアライズ箇所でのオブジェクト生成の制限
- 既にデータベースに保存されたシリアライズオブジェクト payload の除去
Patchstackは、GiveWPの登録アクションが依然としてWordPressの登録設定を尊重しない点を指摘しつつ、この登録露出自体は今回の修正によりコード実行には悪用できなくなったとしている。
日本企業への影響と対応
WordPressは日本企業でもコーポレートサイトや寄付・会員サイトで広く利用されている。GiveWPを利用している場合は、4.16.7.2への更新を優先して実施する必要がある。開発元は寄付フローでのシリアライズ処理を硬化しており、更新により既存の悪性データも除去されると説明している。更新後は、不要な登録機能の露出や旧式フォームの有無も併せて点検することが望ましい。
出典
- GiveWP「Release 4.16.7.2」2026年8月27日 https://github.com/impress-org/givewp/releases/tag/4.16.7.2
- WordPress.org「GiveWP」ダウンロード(4.16.7.2 / 2026-08-27T17:53:21+00:00) https://downloads.wordpress.org/plugin/give.4.16.7.2.zip
この記事は、公開情報と編集部の調査・知見をもとに構成しています。内容は公開時点の情報に基づく解説であり、個別の環境への診断・対応を保証するものではありません。重要な判断では、記事内の出典や各提供元の最新情報もご確認ください。