トップ/記事一覧/WordPress脆弱性5件、パスワード再設定を乗っ取られる CVE-2026-9273
wordpress-plugins-2026-08-05-account-takeover-roundup-cover-ja

WordPress脆弱性5件、パスワード再設定を乗っ取られる CVE-2026-9273

WordPressの拡張機能に脆弱性が5件公表されました。5件とも行き着く先はアカウントの乗っ取りです。会員制サイト向けのKadence Membershipsはログイン不要で管理者のパスワード再設定を横取りされ、通販のDokanは出品者として登録できる人なら管理者を奪えます。5件とも修正版が出ており、更新するだけで対処は終わります。

ニュース2026年8月5日公開 本日更新
目次
この記事のポイント

WordPressの拡張機能に脆弱性が5件公表されました。5件とも行き着く先はアカウントの乗っ取りです。会員制サイト向けのKadence Membershipsはログイン不要で管理者のパスワード再設定を横取りされ、通販のDokanは出品者として登録できる人なら管理者を奪えます。5件とも修正版が出ており、更新するだけで対処は終わります。

2026年8月5日、WordPressの拡張機能(プラグイン)に脆弱性(ソフトの弱点)が5件公表されました。5件とも、行き着く先はアカウントの乗っ取りです。パスワードの再設定を横取りする、管理者アカウントを勝手に作る、他人のパスワードを書き換える——手口は違いますが、狙いは同じです。

先に良い知らせを書きます。5件とも、すでに修正版が出ています。配布停止になったものも、直しようがないものもありません。プラグインを最新版へ上げるだけで、5件とも影響範囲から外れます

問題は、更新していないサイトが必ず残ることです。とくに今回は、ネット通販のマーケットプレイスを作るための定番プラグイン「Dokan」が含まれています。累計443万回ダウンロードされている拡張で、しかも出品者として登録できる人なら誰でも、管理者のパスワードを書き換えられるという内容です。心当たりのある方は、この記事の表だけでも見ていってください。

5件の一覧、どれが自分に当たるか

プラグイン脆弱性番号危険度対象上げ先ログイン
Kadence Memberships
(旧 Restrict Content)
CVE-2026-92739.34.0.0以前4.0.1不要
Smart Popup
by Supsystic
CVE-2026-183228.81.12.0以前1.13.0不要
DokanCVE-2026-87618.85.0.1以前5.0.12出品者
VikAppointmentsCVE-2026-159187.51.2.19以前1.2.20不要
VikRentItemsCVE-2026-161437.21.2.1以前1.2.2不要

※危険度は10点満点のCVSS 3.1。「ログイン」欄は攻撃の成立にログインが要るかどうかで、「不要」は誰でも試せることを意味します。上げ先は執筆時点で配布されている最新版です。

当てはまるプラグインが1つもなければ、この5件については何もする必要がありません。ただ、WordPressの拡張機能の脆弱性は毎週のように公表されており、当サイトでも8月3日の27件8月2日の27件(うち6件は修正版なし)を追ってきました。今回のように「全件に修正版がある」という回のほうが、実はめずらしいことも書き添えておきます。

それぞれ、何をされるのか

CVE-2026-9273: パスワード再設定のメールが、攻撃者のサイトへ誘導する

今回いちばん危険度が高い1件です。Kadence Memberships(旧称 Restrict Content)は、記事を会員限定にするためのプラグインで、累計67万回ダウンロードされています。

問題は、パスワードを忘れたときの処理にあります。「再設定後にどこへ戻すか」を指定する値が、送信されたまま検証されずに使われていました。攻撃者はこの値に自分のサイトのアドレスを入れて、任意のアカウント——管理者を含みます——のパスワード再設定を申請できます。

すると本物のサイトから、本物の再設定メールが被害者に届きます。ただしメール内のリンクは攻撃者のサイトを指しており、そこに再設定用の鍵が付いています。被害者がリンクを踏んだ瞬間、その鍵は攻撃者の手に渡ります。あとは攻撃者が本物のサイトでその鍵を使えば、乗っ取りが完了します。

攻撃に必要なはずの合言葉(ワンタイムの識別子)も、ログイン用の入力欄を置いたページに、誰でも見える形で書き出されていました。つまりログインは要りません。同じ「パスワード再設定の横取り」は、50万サイトが対象になったKirkiの事例でも実際の攻撃が確認されており、手口として珍しいものではありません。

CVE-2026-18322: ポップアップの設定から、管理者アカウントを作られる

Smart Popup by Supsysticは、サイトにお知らせのポップアップを出すプラグインで、累計165万回ダウンロードされています。メール購読の申し込みフォームを載せる機能も持っています。

欠陥は権限のチェックにありました。管理者だけに許すはずの操作の一覧が、内部で別の一覧に上書きされ、保存の操作が守られない状態になっていました。そこへ、購読の確認メールに埋め込まれた合言葉が使えてしまいます。つまり購読を申し込んで確認メールを受け取るだけで、攻撃に必要な材料が手に入ります

その合言葉を使って設定を書き換えると、購読者が登録されるときの役割を「管理者」に変えられます。あとは購読の流れをもう一度たどるだけで、攻撃者が決めたIDとパスワードを持つ管理者アカウントが、サイトに残ります

CVE-2026-8761: 出品者が、管理者のパスワードを書き換えられる

今回いちばん多く使われているプラグインです。Dokanは、WordPressとWooCommerceで複数の出品者が集まるマーケットプレイスを作るための拡張で、累計443万回ダウンロードされています。

Dokanは、WooCommerceが持つ顧客情報の操作機能を、自前の窓口として作り直していました。そのときWooCommerce側の権限チェックを外し、「操作する側が出品者かどうか」だけを見る作りに変えてしまったのが原因です。操作される側が誰なのかを、一度も確かめていませんでした

結果として、出品者以上の権限があれば、管理者を含むサイト内の任意の利用者について、情報を読み、書き換え、削除できます。管理者のパスワードを書き換えれば、そこでサイトは丸ごと相手のものになります。

「出品者の権限が要るなら、そう簡単ではないのでは」と思われるかもしれません。ですがマーケットプレイスは、出品者を集めるために登録を開放しているのが普通です。申請すれば誰でも出品者になれる設定なら、実質的に「誰でも」と変わりません。ここが、同じ8.8でも他と重みが違う点です。

CVE-2026-15918: 予約ページから、利用者のIDとパスワードを抜かれる

VikAppointmentsは、美容室や医療機関などで使う予約受付のプラグインです。累計2万2千回ほどのダウンロードで、前の3件よりは規模が小さいものの、扱う情報の性質は重い種類の拡張です。

公開されている口コミ一覧の並べ替えを指定する値が、検証されないままデータベースへの問い合わせ文に組み込まれていました。いわゆるSQLインジェクション——問い合わせ文そのものを外から書き換えられる欠陥です。ログインは要りません。ふつうの予約ページから、WordPressの利用者情報(IDとパスワードの保管値を含む)まで読み出せます

CVE-2026-16143: 予約フォームのメール欄に、悪意のあるコードを仕込まれる

VikRentItemsはレンタル品の貸出管理プラグインで、累計1万7千回ほどのダウンロードです。前の1件と同じ開発元の製品にあたります。

予約の申し込みフォームにあるメールアドレス欄で、入力の無害化が足りていませんでした。保存時の処理は文字列としての整形しかしておらず、引用符のような、表示の構造を壊す文字がそのまま残ります。それが管理画面の注文編集ページで、無害化されずに表示されます。

つまりログインしていない誰かが予約を入れるだけで、後でその注文を開いた管理者の画面上で、仕込まれたプログラムが動きます。管理者の権限で動く以上、そこから利用者の追加や設定の変更につなげることもできます。

誰が狙い、何のために狙うのか

この種の欠陥を狙うのは、特定の会社を狙い撃ちする相手ではありません。脆弱性が公表されるのを待ち構えて、その拡張を入れているサイトを機械で片端から探す集団です。公表された日から数日のうちに、世界中のサイトへ同じ試行が投げ込まれます。狙われる理由は、あなたのサイトが重要だからではなく、単に更新が遅れているサイトの1つだからです。

入り込んだ相手が何をするか。管理者アカウントを1つ増やして、そのまま何もせずに立ち去る——これが最も多い動きです。すぐに荒らせば気づかれますが、正規に見えるアカウントを残しておけば、あとからいつでも戻ってこられます。実際の用途は、検索結果を汚す広告ページの設置、他サイトへの攻撃の踏み台、決済ページに情報を抜く仕掛けを差し込む、といったものです。

被害の出方は、サイトの性格で変わります。会員制のサイトなら会員の氏名やメールアドレスが、予約サイトなら来店日時と連絡先が、マーケットプレイスなら出品者と購入者の双方の情報が対象になります。そして運営側にとっていちばん重いのは、いつ入られたのかが分からなくなることです。更新を1回怠っただけで、その後の全期間について「安全だったと言い切れない」状態が生まれます。

自分のサイトは対象なのか、どう確かめるか

WordPressの管理画面から「プラグイン」を開けば、入れている拡張とその版がすべて並びます。上の表の5つと見比べてください。名前が一致し、かつ版が「対象」の欄以下なら、当たっています。

見落としやすいのが、停止しているだけで削除していない拡張です。有効化していなければ多くの欠陥は動きませんが、ファイルは残っており、別の穴と組み合わされる余地があります。使わないものは停止ではなく削除するのが確実です。

もうひとつ、Dokanを使っているサイトは、出品者の登録がどうなっているかも見てください。申請すれば自動で承認される設定なら、攻撃に必要な権限は誰でも取得できます。管理者の手動承認にしてあるサイトより、危険度は明確に高くなります。

やるべきこと

やることは1つです。該当するプラグインを最新版へ更新する。管理画面の「更新」から数分で終わります。5件とも修正版が配布されており、待つ必要のあるものはありません。

更新したあと、念のため見ておきたい場所があります。

更新後に確認しておきたい箇所

  • 利用者一覧に、作った覚えのない管理者アカウントが増えていないか(今回の2件は管理者を作る/奪う欠陥です)
  • 管理者のメールアドレスが書き換えられていないか。乗っ取りの前段でここを変える手口があります
  • Dokanを使っているなら、出品者一覧に不審な登録がないか
  • 予約や注文の一覧に、内容が明らかにおかしい記録が混じっていないか(VikRentItemsの件は予約フォームから仕込まれます)

気になる形跡があれば、管理者のパスワードを変えて、全員をログアウトさせるのが先決です。相手がログイン状態を保持していた場合、それを断ち切れます。パスワードを他のサービスと使い回している場合は、そちらも変えてください。

恒久的な備えとしては、プラグインの自動更新を有効にしておくのがいちばん効きます。WordPressの管理画面から拡張ごとに設定でき、今回のように「公表時点で修正版が出ている」場合は、それだけで対応が終わります。更新の内容を確認してから当てたい運用であれば、せめて週1回は管理画面を開く習慣を持つべきです。攻撃側は公表から数日で動きます。

実際に攻撃されているのか

本稿の執筆時点で、この5件が実際の攻撃に使われたという報告はありません。米政府CISAがまとめている実際に攻撃されている脆弱性の一覧(KEV)にも、いずれも入っていません。

ただし、WordPressの拡張を狙う攻撃は公表から実際の試行までが極端に速いことで知られています。当サイトが扱った事例でも、Kirkiのパスワード再設定の欠陥LiteSpeedのcPanel向け拡張は、公表後まもなく悪用が確認されています。「まだ攻撃されていない」は「これからも安全」を意味しません。

なお5件はいずれも、WordPressのセキュリティを専門とするWordfenceが採番したものです(VikAppointments・VikRentItemsの2件を含む)。国内のJVNやJPCERT/CCへの登録は、8月5日時点では確認できていません。

まとめ

2026年8月5日に公表されたWordPress拡張の脆弱性5件は、いずれもアカウントの乗っ取りにつながるものでした。最も危険度が高いのは会員制サイト向けのKadence Memberships(CVE-2026-9273、危険度9.3)で、ログインせずに管理者のパスワード再設定を横取りできます。最も広く使われているのはマーケットプレイス向けのDokan(CVE-2026-8761)で、出品者として登録できれば管理者を乗っ取れます

5件とも修正版が出ています。Kadence Membershipsは4.0.1、Smart Popupは1.13.0、Dokanは5.0.12、VikAppointmentsは1.2.20、VikRentItemsは1.2.2。管理画面から更新するだけで終わります。

今回の5件を並べて見えるのは、権限のチェックが「操作する側」だけを見て「操作される側」を見ていないという共通点です。Dokanの件がその典型で、出品者かどうかは確かめたのに、相手が管理者かどうかは確かめていませんでした。同じ形の見落としは7月16日に扱った3件にもありました。拡張機能を選ぶとき、更新が続いているかどうかと同じくらい、こうした欠陥がどれだけ早く直されてきたかも見ておく価値があります。

参照元

avatar-m-1

堀川 慎

Backend Engineer / AWS / Django / Go