トップ/記事一覧/WordPress脆弱性9件、無認証で決済金額を改ざん CVE-2026-13692
wordpress-plugins-2026-07-29-payment-tampering-roundup-cover-ja

WordPress脆弱性9件、無認証で決済金額を改ざん CVE-2026-13692

2026年7月29日、WordPressのプラグインとテーマの脆弱性9件が公表されました。決済連携のPayU CommercePro Pluginは無認証で注文の合計金額を書き換えられ、検証では0円まで下がっています。9件ともNVDに危険度が付いておらず、3件は修正版なし。PhotoSwipeは配布停止のため削除が必要です。

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

2026年7月29日、WordPressのプラグインとテーマの脆弱性9件が公表されました。決済連携のPayU CommercePro Pluginは無認証で注文の合計金額を書き換えられ、検証では0円まで下がっています。9件ともNVDに危険度が付いておらず、3件は修正版なし。PhotoSwipeは配布停止のため削除が必要です。

2026年7月29日、WordPressの拡張機能(プラグイン)とテーマの脆弱性9件が、WPScanからNVDへ一括で登録されました。ネットショップを運営している人にとって最も直接的なのは、インドの決済サービスPayUをWooCommerceにつなぐPayU CommercePro Pluginの欠陥です。ログインしていない相手が、決済ゲートウェイからの通知になりすまして、任意の注文の合計金額・送料・付随情報を書き換えられます。WPScanの検証では、偽の割引を差し込んで注文の合計を0円まで落とすところまで確認されています。

対象は、決済のPayU CommercePro Plugin、動画配信向けのStreamitテーマ、クラウド連携のWP Media Folder Addon、会員機能のUsersWP、予約受付のEasy Appointments、アクセス解析のShinyStat Analytics、記事の一括編集のWOLF、ソーシャルログインのminiOrange Social Login and Register、画像の拡大表示のPhotoSwipeの9種類。WordPress.orgで導入数を確認できた6種だけで、合計52,000サイト以上が使っています。

先に要点を書きます。9件のうち6件には修正版が出ており、3件には出ていません。修正版がない3件のうちPhotoSwipeはWordPress.orgでの配布そのものが止まっているため、やることは更新ではなく削除です。加えて、公表された「影響を受けるバージョン」や「修正版」の記載が実態と合っていないものが2件混じっています(PayUとEasy Appointmentsです。後述します)。そして9件とも、NVDには危険度(CVSS)の数値が付いていません。数字で優先順位を決められない以上、ここではログインが要るか要らないかで並べます。同じ形のまとめは前日7月28日の18件7月23日の4件でも出しています。

9件で何が起きたのか

9件は、性質がきれいに二分されます。誰でも外から直接叩ける5件と、サイトの利用者を騙すか、何らかのアカウントを持っている必要がある4件です。前者はインターネットにつながっているだけで狙われるため、対処の順番は自動的に決まります。

ログイン不要の5件は、決済のPayU CommercePro Plugin(注文金額の改ざん)、Streamitテーマ(攻撃者が指定したPHP関数の実行)、WP Media Folder Addon(サーバー上のファイル読み取り)、miniOrange Social Login and Register(任意アカウントへのログイン)、ShinyStat Analytics(未公開商品の情報取得)です。このうちStreamitは、PHPの関数名と引数を外から指定して呼び出させるという、実質的な遠隔コード実行に相当します。

残る4件は、UsersWP(利用者の認証情報を既に知っている相手が2要素認証を素通り)、WOLF(ログイン中の管理者を罠のページに誘い込む)、Easy Appointments(購読者権限のアカウントが必要)、PhotoSwipe(投稿者権限が必要)です。いずれも「相手側に前提条件がある」タイプで、外から機械的に踏まれる性質のものではありません。だからといって放置していい理由にはなりませんが、更新の順番としては後ろに回せます。9件はすべてWordPress本体ではなく拡張機能とテーマ側の問題なので、入れていないサイトには影響がありません。本体側の話はWordPress本体の脆弱性まとめで別に扱っています。

対象と対処の早見表

自分のサイトが対象かを一目で確認できるよう、9件を並べました。上からログイン不要のものです。導入数はWordPress.orgのプラグインAPIで取得した概数で、配布されていないものは空欄にしています。危険度の欄がすべて「未付与」なのは、NVDに数値が登録されていないためで、記事の側で数字を補うことはしていません。

対象主な用途導入数影響を受ける版安全な版ログイン危険度
PayU
CommercePro
WooCommerceの
決済連携(インド)
7,000以上3.8.9 以下3.9.0 以降
(報告元は「修正版なし」
と記載)
不要NVD未付与
Streamit
(テーマ)
動画配信・
OTTサイト向け
4.5.0 以下修正版なし
販売元に確認を
不要NVD未付与
WP Media
Folder Addon
メディアの
クラウド連携
4.1.6 以下修正版なし
クラウド連携の解除を
不要NVD未付与
miniOrange
Social Login
SNSアカウントでの
ログイン連携
10,000以上7.8.0 より前7.8.0 以降
(最新 7.8.1)
不要NVD未付与
ShinyStat
Analytics
アクセス解析1,000以上1.0.17 より前1.0.17 以降不要NVD未付与
UsersWP会員登録・
ログイン・プロフィール
20,000以上1.2.67 より前1.2.67 以降
(最新 1.2.69)
認証情報を
知っている必要
NVD未付与
WOLF記事の一括編集4,000以上1.1.0 より前1.1.0 以降
(最新 1.1.1)
管理者を騙すNVD未付与
Easy
Appointments
予約・アポイント受付10,000以上3.12.27 以下
(公表は「3.12.26以下」
だが実際は3.12.27も)
3.12.28 以降購読者NVD未付与
PhotoSwipe画像の拡大表示
(ライトボックス)
配布停止のため
取得不可
4.1.1.1 以下
(=全版)
修正版なし
削除を推奨
投稿者NVD未付与

Streamitはテーマ、WP Media Folder Addonは有料の追加部品で、どちらもWordPress.orgでは配布されていません。そのため導入数は公表されておらず、ここでは空欄にしています。PhotoSwipeは配布が止まっている関係で、APIから導入数を取得できませんでした。数字を出していない箇所は「調べたが分からなかった」という意味です。

狙うのは誰で、何を取りに来るのか

決済の書き換えに反応するのは、サイトを乗っ取って転売する層とは少し毛色が違います。手を出してくるのはオンライン決済の抜け道を探して回っている、いわゆるカーディング寄りの小口の実行者で、彼らが欲しいのは管理者権限ではなく商品そのものです。PayUの欠陥のように「注文の合計を後から0円にできる」形は、その目的にぴったり噛み合います。Streamitのように管理者アカウントを作れるものには別の層——サーバーを踏み台や配信基盤として使いたい相手——が寄ってきますが、こちらは公表から自動巡回に組み込まれるまでが早く、対象がテーマなので「入れっぱなしで放置されている」割合も高くなります。

手口はごく単純です。彼らは決済ゲートウェイからの通知になりすました偽のリクエストを、店のWordPressに直接投げつけます。PayU CommercePro Pluginは、その通知に付いてくる署名を検証する前に、注文の金額・送料・割引・付随情報をデータベースへ書き込んでいました。署名の検証に失敗しても、書き込まれた値は残ります。あとは実際に少額で決済を通すなり、店側の目視確認をすり抜けるなりして、商品を発送させるところまで持っていきます。ShinyStat Analyticsの「未公開の商品を無認証で読める」欠陥も、単体では地味ですが、まだ公開していない新商品の価格や説明文が事前に抜けるため、こうした動きの下準備として噛み合います。

損をするのは、まず店です。注文履歴の上では正常に見える取引で在庫と送料が消え、決済代行の入金額と帳簿が合わなくなって初めて気づく形になります。しかも金額の改ざんは1件ずつでは目立たず、少額の注文に紛れると発見が遅れます。次に困るのが会員です。miniOrangeの欠陥のように他人のアカウントでログインされる形になると、購入履歴も住所も配送先の変更もすべて相手の手に渡ります。この系統の被害は5月に50万サイトが対象となったKirkiの管理者乗っ取りでも起きており、あのときは公表後に実際の悪用が確認されました。

ログイン不要で外から届く5件

先に手を付けるべき5件です。このどれかを使っているなら、他の作業より優先してください。

CVE-2026-13692:決済「PayU CommercePro Plugin」で注文の合計金額を書き換えられる

PayU CommercePro Pluginは、インドの決済サービスPayUをWooCommerceのネットショップに接続するための拡張機能です。導入数は7,000以上。今回の欠陥(CVE-2026-13692)は、決済ゲートウェイから送られてくる通知の署名を検証する前に、注文の内容を書き換えてしまっていたというものです。

この拡張機能は /wp-json/payu/v1/get-payment-success-update というアドレスで、決済完了の通知を受け取ります。受け取り口はログイン不要で開いています。それ自体は決済連携の作りとして普通ですが、問題は処理の順番でした。修正前のコードは、受け取ったデータから注文番号を取り出したあと、支払い方法・銀行コード・配送方法を注文に書き込み、割引情報の突き合わせまで済ませてから、最後にハッシュ値の照合に進んでいました。照合に失敗しても、その前に書き込まれた値はデータベースに残ります。

WPScanの検証では、偽の割引情報を差し込むことで注文の合計を0円まで引き下げ、決済用の付随情報も上書きできることが示されています。注文の状態は「保留」のまま残るため、店側の管理画面では一見して異常が分かりません。分類としてはCWE-862(認可の欠落)で、悪用にログインも会員登録も要りません。

ここからが注意点です。WPScanの掲載では「修正版なし」となっていますが、実際にはWordPress.orgの更新履歴の3.9.0(2026年7月8日公開)に「Security: Fixed reported order price change vulnerability(報告された注文価格の変更の脆弱性を修正)」と明記されています。配布されている3.8.9と3.9.0の中身を突き合わせたところ、通知の受け口が呼び出す処理そのものが差し替わっており、書き込みを先に行っていた箇所が削除され、配送先の反映は「支払いが確定した後」にしか動かない作りに変わっていました。つまり3.9.0以降なら対処済みです。CVEの記載だけを見て「直しようがない」と諦める必要はありません。

CVE-2026-13423:動画テーマ「Streamit」で任意のPHP関数を呼ばれ、管理者を作られる

Streamitは、Iqonic Designが販売している動画配信・OTTサイト向けのWordPressテーマです。ThemeForest経由で流通しており、WordPress.orgでは配布されていないため導入数は分かりません。今回の欠陥(CVE-2026-13423)は、9件のうち最も重い内容です。

このテーマには、ブラウザが裏側でサーバーとやりとりする窓口(AJAXの受け口)が用意されています。そのうちの1つがログイン不要で開いているうえ、認可の確認も、正規の操作かを見分ける合言葉(nonce)の検証も、どちらも入っていません。しかもその受け口がやることは、リクエストで指定されたPHPの関数名を、これまたリクエストで指定された引数の配列とともに呼び出すことでした。

言い換えると、攻撃者はサーバー上で動かしたい関数を名指しで指定できます。NVDの説明文には具体例として管理者アカウントの作成が挙げられており、権限昇格から遠隔コード実行まで一直線につながります。分類はCWE-94(コード生成の不適切な制御)です。WPScanの報告では、修正版が出るまでPoC(実証コード)を公開しない方針が明示されています。

影響を受けるのは4.5.0以下で、本稿執筆時点で修正版は確認できていません。Streamitは有料テーマなので、WordPress.orgの自動更新の対象外です。使っているなら、購入元の管理画面かThemeForestのアカウントから更新の有無を直接確認し、更新が出ていなければ該当の受け口を塞ぐか、テーマの差し替えを検討する段階になります。このテーマは2025年にも複数の脆弱性が公表されており、初めての指摘ではありません。

CVE-2026-11974:「WP Media Folder Addon」でサーバー上のファイルを読み取られる(前回修正の取りこぼし)

WP Media Folder Addonは、JoomUnitedが販売しているメディア管理拡張の追加部品で、Google DriveやDropbox、OneDrive、Nextcloudといったクラウドストレージとメディアライブラリを同期させます。今回の欠陥(CVE-2026-11974)は、ログイン不要で呼べるAJAXの受け口2つが、利用者から渡された値を検証せずにファイル読み取りに使っていたというものです。

結果として、サーバー上の任意のファイルを読み出される(Arbitrary File Disclosure)ほか、クラウド連携が設定されているサイトではサーバー自身に内部向けのアクセスをさせるSSRFまで成立します。読まれて困るファイルの筆頭は wp-config.php で、ここにはデータベースの接続情報と認証用の鍵が丸ごと入っています。分類はCWE-22(パストラバーサル)です。

見過ごせないのは、この欠陥が2026年6月に公表されたCVE-2026-9690の「直し残し」だとNVDの説明文にはっきり書かれている点です。前回の修正はクラウドストレージの処理のうち1つだけを堅くし、同じ構造の他の処理は手つかずのままでした。配布元の更新履歴を見ると、4.0.2に「リモートコンテンツ取得前のURL検証を追加」とあり、これが前回の修正にあたります。それ以降の4.1.0〜4.1.6にセキュリティ修正の記載はなく、現行の4.1.6にも修正は入っていません

WPScanの報告は、利用者に更新の時間を与えるためPoCの公開を2026年8月8日まで保留しています。裏を返すと、8月8日を過ぎると攻撃手順が公開情報になります。修正版が出ていない以上、それまでにやれることは限られます。クラウド連携を使っていないなら追加部品ごと停止する、使っているなら管理画面へのアクセス元を制限する、といった対処が現実的です。過去の脆弱性一覧はPatchstackのデータベースにもまとまっています。

CVE-2026-14300:「miniOrange Social Login and Register」でワンタイムコードを使い回され、任意のアカウントに入られる

miniOrange Social Login and Registerは、Google・Discord・LinkedIn・TwitterなどのアカウントでWordPressにログインできるようにする拡張機能です。導入数は10,000以上。今回の欠陥(CVE-2026-14300)は、メール確認に使うワンタイムコードが、発行された相手のアカウントに紐付けられていなかったというものです。

攻撃の手順は、前日の18件で扱ったSMS Alertの欠陥とほぼ同じ形です。まず自分が管理しているメールアドレスあてに確認コードを発行させ、正規の手順でそれを受け取ります。その状態で、コードだけをそのまま狙った相手のメールアドレスに対して送り直すと、システムは「コードが正しい」ことしか見ていないため、相手のアカウントのセッションを発行してしまいます。管理者アカウントも例外ではありません。

成立する条件が2つあります。「Profile Completion(プロフィール補完)」というメール確認の任意機能が有効になっていることと、ソーシャルログインが設定済みであることです。両方を満たしていないサイトでは悪用できません。ただし条件を確認する手間より、更新してしまうほうが早いのは間違いありません。

修正されたのは7.8.0で、更新履歴には「Security fixes」とだけ書かれています。ここで当サイトの過去記事との関係を整理しておきます。miniOrangeの脆弱性を扱った記事では、別件のCVE-2026-12761を受けて7.8.1への更新を案内しました。7.8.1は7.8.0より後の版なので、あちらの案内どおりに更新済みのサイトは、今回のCVE-2026-14300もすでに解消しています。追加の作業は要りません。まだ7.7.x以前で止まっているなら、WPScanの報告がPoCを8月8日に公開すると予告しているので、それまでに7.8.1へ上げてください。

CVE-2026-11351:「ShinyStat Analytics」で未公開の商品情報を無認証で読まれる

ShinyStat Analyticsは、イタリアのアクセス解析サービスShinyStatをWordPressに組み込む拡張機能です。導入数は1,000以上。今回の欠陥(CVE-2026-11351)は、REST APIの受け口の1つに認可の確認が入っておらず、ログインしていない相手が未公開のWooCommerce商品の情報を取得できるというものです。

WPScanの報告によれば、/wp-json/shinystat/v1/product/<id> に商品IDを付けて叩くだけで、下書き・保留中・非公開の商品のタイトル・説明文・価格・URLが返ってきます。IDは連番なので、順に叩けば未公開分を総なめできます。WordPress本体のAPIは同じ操作に対して401を返して拒否するので、この拡張機能を入れたことで穴が開いた形です。

乗っ取られるわけではないので派手さはありませんが、発売前の新商品の価格と説明文が事前に外へ出るというのは、商売としては十分に困る話です。セール価格の先出しや、競合による内容の先回りにつながります。影響を受けるのは1.0.17より前で、1.0.17で修正されました。更新履歴には「Added product status check in get_product_details rest api(REST APIに商品ステータスの確認を追加)」と、対応箇所がそのまま書かれています。現行の最新版が1.0.17なので、更新すればそれで終わりです。

アカウントか、騙す相手が要る4件

こちらの4件は、攻撃者側に前提条件があります。とはいえ会員登録を開放しているサイトでは「購読者のアカウント」は誰でも取れますし、管理者を罠のページに誘い込むのも難しい話ではありません。順番は後でも、放置していい種類ではありません。

CVE-2026-13690:会員機能「UsersWP」で2要素認証を素通りされる

UsersWPは、サイトの表側に会員登録・ログイン・プロフィール・会員名簿の機能を追加する拡張機能です。導入数は20,000以上。今回の欠陥(CVE-2026-13690)は、2要素認証のログイン処理が、選択された認証プロバイダを検証していなかったというものです。

2要素認証は、パスワードが漏れたときの最後の砦として入れるものです。ところがこの処理では、どの認証手段を使うかの指定が信用され、対応するプロバイダが見つからない場合の扱いが甘くなっていました。結果として、すでに利用者のIDとパスワードを知っている相手が、2つ目の要素を丸ごと飛ばしてログインできます。パスワードが漏れていない限り悪用できないので「無認証」ではありませんが、2要素認証を入れている意味がなくなるという点で影響は小さくありません。使い回されたパスワードの流出リストが出回っている以上、条件が揃うサイトは相応にあります。

修正されたのは1.2.67(2026年6月30日公開)で、更新履歴に「Missing WP 2FA provider bypassed login – FIXED」と該当する記載があります。ここで当サイトの過去記事との食い違いに触れておきます。UsersWPの脆弱性を扱った記事では、別件のCVE-2026-13492を受けて1.2.66への更新を案内しました。今回の修正版1.2.67は、その1.2.66より後の版です。つまり、あちらの案内どおり1.2.66で止めているサイトには、今回の脆弱性が残っています。現行の最新は1.2.69なので、そこまで上げてくださいWPScanの報告もPoCを8月8日に公開する予定です。

CVE-2026-14234:一括編集「WOLF」で管理者を騙して記事にスクリプトを埋め込まれる

WOLFは、記事やカスタム投稿の項目を表形式でまとめて編集するための拡張機能です(WordPress.orgでのスラッグは bulk-editor)。導入数は4,000以上。今回の欠陥(CVE-2026-14234)は、AJAXの受け口の1つに、合言葉(nonce)の検証も権限の確認も入っていなかったというものです。

攻撃者は罠のページを用意し、ログイン中の管理者にそれを開かせます。ブラウザはログイン用のクッキーを付けたままリクエストを送るため、サイト側は「管理者本人の操作」として受け付けてしまいます。WPScanの報告によると、対象は wpbe_redraw_table_row という処理で、記事本文に好きな内容——スクリプトを含む——を書き込めます。埋め込まれた内容は以後、その記事を開いた訪問者全員のブラウザで動きます。いわゆる保存型XSSです。

同じ拡張機能の中の、隣り合った似た処理にはきちんと検証が入っていたそうで、1つだけ抜け落ちていた形です。影響を受けるのは1.1.0より前で、1.1.0で修正されました。更新履歴の1.1.0には「security fix from wordpress.org」とだけ書かれています。現行の最新は1.1.1ですが、この版には更新後に項目のタイトルが「-」になる不具合があり、設定画面で各項目のタイトルを消して保存し直す必要があると開発元が案内しています。更新後に表示が崩れても慌てないでください。

CVE-2026-14224:予約「Easy Appointments」で他人の予約の連絡先を書き換えられる

Easy Appointmentsは、サロンや教室、士業などがサイト上で予約を受け付けるための拡張機能です。導入数は10,000以上。今回の欠陥(CVE-2026-14224)は、顧客情報を更新する処理が、対象の予約が本当に自分のものかを確認していなかったというものです。

この処理には合言葉(nonce)の検証だけは入っています。しかしその合言葉は自分の予約の編集画面を開けば誰でも手に入る共有のもので、予約IDを差し替えるチェックが存在しませんでした。つまり、自分の予約を1件持っている購読者権限の利用者が、他人の予約のメールアドレス・氏名・電話番号・備考を上書きできます

怖いのはその先です。Easy Appointmentsは、書き換えられたこの情報を予約の連絡先として扱います。したがって、あとで管理者が予約のステータスを変更し、顧客への通知が有効になっていると、被害者あての予約通知が攻撃者のメールアドレスに届きます。予約日時・氏名・サービス内容といった内容が、店側の正規の通知として相手の手元に配達される形です。

修正版の扱いに、今回いちばんはっきりした落とし穴があります。CVEに登録された影響範囲は3.12.26以下で、素直に読めば次の3.12.27で直ったことになります。WPScanの掲載は「修正版なし」です。実際に配布されている3.12.26・3.12.27・3.12.28の中身を突き合わせたところ、3.12.26と3.12.27の該当処理は一字一句同じで、所有者の確認が入るのは3.12.28からでした。3.12.28では、予約の存在確認に加えて「管理者権限を持たない利用者は、自分が予約した本人でなければ403で拒否する」という判定が追加されています。

裏付けは更新履歴にもあります。3.12.28(2026年7月4日公開)の項目には8件のセキュリティ修正が並んでおり、その中に「missing ownership check allowing cross-user appointment modification. Reported by Duy Tran」——今回の報告者と同じ名前——が含まれています。3.12.28以上かどうかだけを確認してください。3.12.27で止まっているサイトは、公表された対象範囲の外にいながら実際には攻撃できる状態にあります。

CVE-2026-13605:「PhotoSwipe」はtitle属性からXSS、配布停止で修正版なし

PhotoSwipeは、画像をクリックしたときに拡大表示する、いわゆるライトボックスの拡張機能です。今回の欠陥(CVE-2026-13605)は、リンクに書かれたtitle属性を、拡大表示の説明文としてそのままDOMへ書き込んでいたというものです。エスケープ処理が入っていません。

成立の鍵は、WordPressの本文サニタイズの仕様にあります。unfiltered_html の権限を持たない利用者——投稿者(Author)権限がこれにあたります——が書いた本文からは、危険なタグが取り除かれます。ところがtitle属性はその処理を生き延びます。PhotoSwipe側がその値を無害化せずに書き出すため、投稿者権限のアカウントを1つ持っているだけで、そのリンクをクリックした訪問者(管理者を含む)のブラウザでスクリプトを走らせられます

対処の方向が他と違うのはここからです。このプラグインはWordPress.orgでの配布が2026年6月29日に停止されています。理由は「全面的な審査待ちの一時的な措置」と表示されており、影響を受ける4.1.1.1以下は存在する全バージョンにあたります。WPScanの掲載も「修正版なし」です。配布が止まった拡張機能は管理画面に「更新があります」と表示されないため、入れっぱなしのまま気づけません。使っているなら、やることは更新ではなく削除です。画像の拡大表示は他の拡張機能でも代替できますし、そもそも導入数も配布停止のため取得できない状態です。プラグイン一覧に「このプラグインは閉鎖されました」の警告が出ていないか、この機会に一度見ておいてください。

公表された情報を信じると外す2件

9件のうち2件は、公表された内容をそのまま受け取ると判断を誤ります。方向は正反対です。

対象公表された内容実際確かめ方
PayU
CommercePro
修正版なし3.9.0 で修正済み
(2026-07-08 公開)
更新履歴に
「order price change
vulnerability」の記載
Easy
Appointments
3.12.26 以下が対象
/修正版なし
3.12.27 も脆弱
3.12.28 で修正
3.12.28 の更新履歴に
報告者名が記載

PayUのほうは実態より悲観的な記載です。「修正版なし」と読んで諦めたり、決済連携そのものを外す判断に走ったりする必要はなく、3.9.0以降へ上げれば済みます。Easy Appointmentsは逆に実態より楽観的な記載で、「3.12.26以下が対象」を信じて3.12.27で止めたサイトは、直ったつもりのまま残ります。どちらも、CVEの記載ではなく配布元の更新履歴と実際のファイルを見ないと分からない類の話です。

この種のずれは珍しくありません。前日7月28日のまとめでも、6万サイトが使う予約管理Booklyで「公表された対象範囲の外にある版が実際には攻撃できる」事例を扱いました。脆弱性の公表は修正版の配布から数日〜数か月遅れるのが普通で、その間に次の版が出ているためです。ですから、CVEに書かれた番号を細かく合わせにいくより、その時点の最新版へ上げてしまうほうが早くて確実です。

危険度の数値がどこにも付いていない

今回の9件には、共通する扱いにくさがあります。NVDに登録された9件のいずれにも、CVSSの数値が付与されていません。9件とも出典が同じ contact@wpscan.com で、WPScanはCVEレコードにスコアを付けない方針を取っているためです。NVD側の再評価もまだ行われていません。

実務上の影響は2つあります。1つは、脆弱性スキャナや資産管理ツールによって表示がばらつくことです。数値が空欄になるものもあれば、独自の推定値を出すものもあります。同じCVEなのに、使っているツールごとに「重大」と「中」が並ぶ状態が起こりえます。もう1つは、危険度の閾値で自動的に対応の要否を決めている運用が空振りすることです。「CVSS 9.0以上のみ即時対応」という規程を敷いていると、今回の9件はすべて網から漏れます。

なお報告元のWPScanは、自社サイト上では独自の評価値を掲載しています(Streamitが9.8、WP Media Folder Addonが8.6、miniOrangeが8.1といった具合です)。ただしこれはNVDの公式値ではなく、WPScanが自社の基準で付けた参考値です。本記事の早見表であえて「NVD未付与」とだけ書いているのは、この区別を曖昧にしないためです。数字が使えないぶん、ログインが要るかどうかその拡張機能を本当に使っているかという2点で優先順位を決めるのが現実的です。

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

2026年7月29日の時点で、9件はいずれも米政府CISAの実際に攻撃が確認された脆弱性のリスト(KEV)に登録されていませんCISAのカタログを直接確認しても、9件のCVE番号は見当たりません。つまり現時点で「もう狙われている」と言える段階ではありません。

PoC(実証コード)の状況は分かれています。GitHubなど第三者による独立した公開は確認できませんでしたが、報告元のWPScan自身が5件については攻撃手順を掲載済みです。PayU(偽の割引を差し込んで合計を0円にする手順)、Easy Appointments(合言葉を取得して他人の予約IDに投げ直す手順)、ShinyStat(叩くべきアドレスの形)、WOLF(管理者に踏ませるURL)、PhotoSwipeがこれにあたります。有料の購読者向けとはいえ、内容は公開情報です。

残る4件——Streamit・WP Media Folder Addon・UsersWP・miniOrange——は、PoCの公開が保留されています。うち3件(WP Media Folder Addon・UsersWP・miniOrange)は2026年8月8日に公開予定と日付まで明示されており、Streamitは「修正版が出るまで公開しない」方針です。8月8日は、更新の期限として現実的な目安になります。とくに修正版が出ていないWP Media Folder Addonは、その日に手順だけが世に出る形になるため、それまでに使用状況の棚卸しを済ませておくのが安全です。KEVは攻撃が観測されて初めて載るもので、載ってからでは後手に回ります。

いま何をすればいいのか

管理画面から、次の順で進めてください。

手順やること
1. 確認「プラグイン」「テーマ」画面で
該当9種の有無とバージョンを確認
2. 更新PayU 3.9.0 / miniOrange 7.8.1 /
ShinyStat 1.0.17 / UsersWP 1.2.69 /
WOLF 1.1.1 / Easy Appointments 3.12.28
3. 削除PhotoSwipe は配布停止・修正版なし
更新ではなく削除する
4. 停止WP Media Folder Addon は
クラウド連携の解除か無効化を検討
5. 点検注文の合計金額・割引・送料に
不自然なものがないか照合
6. 予防自動更新の有効化と
使っていない拡張機能の削除

点検で見るべき場所は、脆弱性の種類ごとに違います。ネットショップでPayU CommercePro Pluginを使っていたなら、決済代行側の入金明細とWooCommerceの注文金額を突き合わせてください。注文の状態が「保留」のまま止まっているのに商品を発送してしまったもの、割引の内訳が説明できないもの、送料が0円になっているものが手がかりです。miniOrangeを使っていたなら、会員一覧に身に覚えのないアカウントが増えていないか、管理者アカウントに知らないログインの形跡がないか。Easy Appointmentsなら、予約に登録された連絡先メールアドレスが、予約した本人のものと食い違っていないかを見ます。WOLFなら、公開中の記事本文に見覚えのない <script> が紛れ込んでいないか。

確認の手順は次のとおりです。

  • 管理画面の「プラグイン」を開き、9種のうち入っているものと現在のバージョンを控える
  • 「外観 > テーマ」でStreamitを使っていないか確認する(有料テーマは自動更新の対象外)
  • 「このプラグインは閉鎖されました」の警告が出ている項目がないか、一覧を上から見る
  • 更新できるものを最新版まで上げ、更新後に表示崩れがないか表側を1回開いて確かめる
  • WooCommerceの注文一覧を直近1か月ぶんさかのぼり、合計金額と割引の内訳を照合する

日常の備えとしては、使っていない拡張機能を消し、残すものは自動更新を有効にしておくことに尽きます。今回の9件のうち3件は、配布が止まっていたり有料で自動更新の外にあったりして、管理画面には何の通知も出ません。「入れっぱなしがいちばん危ない」という話は、過去のWordPress拡張機能の脆弱性まとめ7月16日の管理者乗っ取り3件でも繰り返し書いてきました。

まとめ

2026年7月29日に公表された9件のうち、急ぐのはログイン不要の5件です。ネットショップを運営しているならPayU CommercePro Pluginが最優先で、無認証で注文の合計金額を書き換えられ、検証では0円まで落とせています。Streamitテーマは任意のPHP関数を呼ばれて管理者を作られる恐れがあり、内容としては9件で最も重い一方、修正版が出ていません。WP Media Folder Addonも未修正で、6月に公表された脆弱性の直し残しです。miniOrange Social LoginShinyStat Analyticsには修正版があります。残る4件——UsersWP・WOLF・Easy Appointments・PhotoSwipe——は、認証情報を知っているか、管理者を騙すか、アカウントを持っている必要があるぶん、順番としては後ろです。

気をつけたい点は4つあります。まずPhotoSwipeは配布が止まっており修正版もないため、更新ではなく削除する対象です。次に公表内容と実態のずれが2件——PayUは「修正版なし」と書かれていますが3.9.0で直っており、Easy Appointmentsは「3.12.26以下が対象」と書かれていますが3.12.27も脆弱で、修正は3.12.28です。3つめに9件ともNVDに危険度の数値が付いていません。スコアで対応の要否を決めている運用では取りこぼします。最後にPoCの公開予定日が2026年8月8日に設定されているものが3件あり、これが実質的な更新期限になります。当サイトで案内済みのUsersWP 1.2.66では今回の脆弱性は直っておらず1.2.67以降が必要で、逆にminiOrange 7.8.1への更新を済ませていれば今回の分もすでに解消しています。実際の攻撃やKEVへの掲載が確認された場合は、この記事に追記します。

参照元

avatar-m-1

堀川 慎

Backend Engineer / AWS / Django / Go