コンテンツへスキップ
ホーム » ログインページXSSからサーバーコード実行へつながるWordPress脆弱性:CVE-2026-64638分析

ログインページXSSからサーバーコード実行へつながるWordPress脆弱性:CVE-2026-64638分析

2026年8月、WordPress Coreのログイン画面において、認証なしで悪用可能なXSS脆弱性CVE-2026-64638が公開されました。XSS2Shellと呼ばれるこの脆弱性は、wp-login.phpの入力処理過程で発生する反射型XSSを起点に、WordPress REST API、Application Password、管理者セッションなどを組み合わせることで、最終的にサーバー上でPHPコードを実行できる攻撃チェーンへ発展する可能性があります。

脆弱性自体は認証なしでトリガーできますが、サーバーコード実行までつなげるには、ログイン済みのWordPress管理者が攻撃者の制御するページと相互作用する過程が追加で必要です。WordPressは2026年8月6日にWordPress 7.0.3セキュリティリリースを公開し、この問題を修正しました。また、以前のメンテナンスブランチにもセキュリティパッチをバックポートしています。

本記事では、CVE-2026-64638の発生原因と、XSSからRCEへつながる攻撃構造を確認し、Criminal IP IT資産検索を活用して、インターネットに公開されたWordPress資産とREST APIの露出状況を分析します。

CVE-2026-64638脆弱性の概要

項目内容
脆弱性IDCVE-2026-64638
影響を受ける製品WordPress Core
脆弱性の種類認証前反射型クロスサイトスクリプティング(Pre-auth Reflected XSS)
CVSSCVSS v4.0 8.9
主な攻撃対象WordPressログインページ(/wp-login.php)
攻撃条件XSSの発生には認証不要。サーバーコード実行までつながる攻撃チェーンには、ログイン済み管理者ユーザーの相互作用が必要
影響管理者セッションの悪用、Application Passwordの作成および窃取、REST APIを通じた権限悪用、悪性プラグインのアップロードおよびPHPコード実行の可能性

CVE-2026-64638は、WordPressログインページにおける複数の入力フィルタリングロジックの解釈差によって発生する、認証前反射型XSS脆弱性です。攻撃者はこれを管理者セッションと組み合わせることで、権限の窃取やサーバーコード実行へ攻撃を拡大できる可能性があります。

影響を受けるバージョンおよびパッチバージョン

CVE-2026-64638の脆弱なコード経路は、WordPress 4.7から存在していたと分析されています。パッチは保守中の各WordPressブランチに個別に適用されているため、現在運用中のブランチに対応する修正バージョンを基準に、パッチ適用状況を確認する必要があります。

代表的な影響バージョンとパッチバージョンは次のとおりです。

WordPressブランチ修正前の最終バージョンパッチバージョン
7.07.0.27.0.3
6.96.9.56.9.6
6.86.8.66.8.7
6.76.7.56.7.6
6.66.6.56.6.6
6.56.5.86.5.9

WordPressは修正内容を4.7ブランチまでバックポートしていますが、可能であれば、現在サポートされている最新のWordPressバージョンへアップグレードすることが推奨されます。

XSSからサーバーコード実行へ至る攻撃フロー

XSS2Shell攻撃フローのAI生成イメージ

1. ログインページに細工した入力を送信
攻撃者は、WordPressのログインページである/wp-login.phpに、特別に細工されたユーザー名を送信します。この入力は、WordPressの異なるフィルタリング関数が同じ文字列を異なる形で解釈する特性を悪用するものです。

2. 反射型XSSの発生
入力値がログインエラーメッセージに反映される過程で、攻撃者が意図したHTML要素がページのDOMに挿入されます。これにより、認証なしで反射型XSSが発生し得る条件が作られます。

3. DOM ClobberingによるJavaScript実行
挿入されたDOM要素は、ログインページで読み込まれるWordPressのuser-profile.jsと相互作用します。攻撃者はDOM Clobberingによってajaxurlの値を操作し、REST APIのJSONPレスポンスを利用して、WordPress Origin上でJavaScriptを実行します。

4. 管理者セッションの悪用とApplication Passwordの生成
ログイン済みの管理者が攻撃者の用意したページにアクセスすると、XSSを通じて管理者ブラウザのセッションを悪用できるようになります。攻撃者は管理者権限でApplication Passwordを生成し、その認証情報を取得します。

5. REST APIを通じた管理者権限の悪用
取得したApplication Passwordを利用して、WordPress REST APIに管理者権限でアクセスします。その後、攻撃者は管理者権限でコンテンツを作成し、追加攻撃に利用できるJavaScriptを公開ページへ挿入できます。

6. 悪意のあるプラグインをアップロード
管理者ブラウザ上で実行されるJavaScriptは、WordPressのプラグインアップロード機能を利用して、悪意のあるPHPファイルを含むプラグインをサーバーへアップロードできます。これにより、XSS攻撃はサーバー側へのファイルアップロード段階へと拡大します。

7. PHPファイルの実行によるRCE
攻撃者は、wp-content/plugins/配下にアップロードされたPHPファイルへ直接アクセスし、サーバー上でコードを実行します。結果として、ログインページにおける認証前XSSが、管理者権限の悪用とファイルアップロードを経て、リモートコード実行へとつながります。

Criminal IP IT資産検索でインターネットに公開されたWordPressを確認

CVE-2026-64638は、外部に公開されたWordPressログインページとREST APIを攻撃チェーンに利用します。そのため、インターネットに公開されたWordPress資産を識別し、使用中のバージョンとREST APIの外部公開状況をあわせて点検する必要があります。

Criminal IP IT資産検索を活用し、インターネットに公開されたWordPress資産と、今回の攻撃チェーンに関連するREST APIパスを順に確認しました。

1. インターネットに公開されたWordPress資産の確認

Criminal IP IT資産検索でインターネットに公開されたWordPress資産を検索した結果

Criminal IP検索クエリ: product: wordpress

Criminal IP IT資産検索でproduct: wordpressを検索した結果、2026年8月時点で、インターネットに公開されたWordPress関連資産は合計26,807件確認されました。

検索結果には、5.2.18のようなWordPressバージョン情報が識別される資産も含まれています。これにより、現在運用中のバージョンとCVE-2026-64638のパッチバージョンを比較し、パッチ適用状況を優先的に確認すべき資産を選別できます。

ただし、Criminal IPで識別されたバージョン情報は、外部から収集されたHTTPレスポンスやサービス情報に基づくものです。そのため、実際の脆弱性有無を確定する情報ではなく、パッチ状態を確認するための手がかりとして活用する必要があります。

2. 外部に公開されたWordPress REST APIの確認

次に、WordPress REST API関連パスが外部に公開されている資産を確認しました。

WordPress REST API関連パスが確認される外部公開資産

Criminal IP検索クエリ: /wp-json/wp/v2/

Criminal IP IT資産検索で/wp-json/wp/v2/を検索した結果、2026年8月時点で合計3,970件の資産が確認されました。
wp-json/wp/v2/は、WordPress REST APIで投稿、固定ページなどの主要リソースにアクセスする際に使用されるパスです。この文字列がHTTPレスポンスで確認される資産は、WordPress REST APIが外部からアクセス可能な状態である可能性があります。

CVE-2026-64638の攻撃チェーンでは、REST APIがJavaScript実行とその後の権限悪用過程で利用されます。そのため、外部に公開されたWordPress資産を点検する際は、REST APIの外部公開状況もあわせて確認する必要があります。

3. 攻撃チェーンで使用されるREST APIアクセス方式の確認

WordPress REST APIは、/wp-json/パスのほか、?rest_route=/パラメータを使用してアクセスすることもできます。今回のXSS2Shell攻撃チェーンでも、この方式のREST APIリクエストが使用されています。

/?rest_route=/レスポンスが確認されるWordPress資産の検索結果

Criminal IP検索クエリ: /?rest_route=/ product: “wordpress”

Criminal IP IT資産検索で/?rest_route=/ product: “wordpress”を検索した結果、2026年8月時点で合計114件の関連資産が確認されました。

?rest_route=は、WordPress REST APIにアクセスする代替方式です。このクエリを活用することで、WordPressとして識別された資産のうち、該当REST APIアクセスパスが外部HTTPレスポンスで観測される資産を選別できます。

個別WordPress資産で確認できる情報

上記の検索結果に含まれる一部のWordPress資産を個別に確認したところ、/wp-login.phpがHTTP 200で応答し、WordPressのログインインターフェースが認証前の状態でインターネットに直接公開されていることが確認されました。

インターネットに直接公開されたWordPressログインインターフェース

また、該当資産では、ログインリクエストに渡したユーザー名がエラーレスポンスにどのように反映されるかも追加で確認しました。任意の文字列であるTESTUSER_XYZを渡したところ、同じ文字列がレスポンス内で確認されました。また、二重引用符を含むTEST”QUOTEもそのまま返されました。

WordPressログインエラーレスポンスで入力したユーザー名が反映されることを確認した結果

これにより、ログインリクエストに含まれるユーザー入力値が、エラーレスポンスに再び反映される動作を確認できました。CVE-2026-64638も、/wp-login.phpのユーザー入力値がエラーメッセージに反映される過程から始まる反射型XSS脆弱性であるため、このようなレスポンス特性は、パッチ適用状況を追加で点検するための手がかりとして活用できます。

CVE-2026-64638のPoCと詳細な攻撃手法も、すでに公開されています。今回個別に確認した内容は一部の資産に限られますが、Criminal IPでインターネットに公開されたWordPress関連資産が2万件以上確認されていることから、各組織は管理中のWordPress資産の実際のバージョンと、セキュリティアップデートの適用状況を優先的に点検する必要があります。

対応推奨事項

CVE-2026-64638は、WordPressログインページを起点に、管理者セッション、REST API、プラグインアップロード機能へと攻撃が拡大する可能性があります。そのため、パッチ適用とあわせて、外部公開状態と管理者アクセス経路を点検する必要があります。

優先的な対応推奨事項は次のとおりです。

  1. 最新のセキュリティバージョンの適用
  2. 外部公開資産および管理者ページの点検
  3. 管理者アカウントおよびApplication Passwordの確認
  4. ログおよびプラグイン変更履歴の確認

特に外部に公開されたWordPress資産については、パッチ適用状況だけでなく、管理者アクセス経路、認証情報、プラグイン変更履歴もあわせて点検し、攻撃チェーンの悪用可能性を低減する必要があります。

FAQ

Q1. WordPress 7.0.3未満のバージョンを使用している場合、すべてCVE-2026-64638の影響を受けますか?

必ずしもそうではありません。WordPressは、CVE-2026-64638の修正を7.0.3だけでなく、以前のメンテナンスブランチにもバックポートしています。そのため、単に7.0.3未満かどうかを確認するのではなく、現在使用しているWordPressブランチに対応する最新のセキュリティパッチが適用されているかを確認する必要があります。

Criminal IP IT資産検索でWordPressのバージョン情報が識別される場合、パッチが必要な資産を選別するための参考情報として活用できます。ただし、実際のインストールバージョンは、管理環境で追加確認することが望ましいです。

Q2. CVE-2026-64638は、認証なしですぐにサーバーを掌握できる脆弱性ですか?

ログインページで発生する反射型XSS自体は、認証なしで誘発できます。しかし、公開されているXSS2Shell攻撃チェーンを通じてリモートコード実行までつなげるには、ログイン済みのWordPress管理者による相互作用が追加で必要です。

攻撃者はXSSを通じて管理者ブラウザのセッションを悪用し、Application Passwordを取得した後、REST APIとプラグインアップロード機能を組み合わせることで、最終的にPHPコードを実行できる可能性があります。そのため、CVE-2026-64638を単純な認証不要RCEとして捉えるのは正確ではありません。

結論

CVE-2026-64638は、WordPressログイン画面の入力処理の違いから始まるXSSが、ブラウザ側の脆弱性にとどまらず、Application Password、REST API、プラグインアップロード機能と組み合わさることで、サーバーコード実行にまで拡大する可能性がある点で注意が必要な脆弱性です。

今回のCriminal IP分析では、インターネットに公開されたWordPress資産だけでなく、REST API関連パスや?rest_route=/形式が外部レスポンスで観測される資産もあわせて確認できました。また、個別資産では、ログインインターフェースが外部に直接公開されており、入力したユーザー名がエラーレスポンスに反映される動作も確認されました。

そのため、WordPress運用環境では、単に脆弱性情報を確認するだけでなく、実際に外部公開されている資産を識別したうえで、現在使用しているブランチのセキュリティパッチ適用状況を点検することが重要です。Criminal IP IT資産検索は、このような過程で公開資産と関連レスポンス特性を迅速に選別し、優先的に点検すべき対象を絞り込む際に活用できます。

なお、関連して ログインなしでサーバーファイルを読み取るGitプラットフォーム脆弱性:Gitea CVE-2026-59774分析 記事もご参考いただけます。

Criminal IP(criminalip.io/ja/register)に登録すると、すぐに脆弱資産の検知を開始できます。さらに、下記ボタンからデモをご依頼いただくことで、エンタープライズ環境において外部に露出した資産を対象としたCriminal IP の脅威インテリジェンス(TI)分析を直接ご確認いただけます。


本レポートは、サイバー脅威インテリジェンス検索エンジン Criminal IP のデータを基に作成されています。
今すぐCriminal IP の無料アカウントを作成すれば、本レポートで引用された検索結果を直接確認したり、さらに膨大な脅威インテリジェンスを自由に検索することができます。 

データソース: Criminal IP(https://www.criminalip.io/ja), Cyber Security News(https://cybersecuritynews.com/wordpress-xss2shell-vulnerability/), WordPress (https://wordpress.org/news/2026/08/wordpress-7-0-3-release/)

関連記事: https://www.criminalip.io/ja/knowledge-hub/blog/9805

コメントを残す

Criminal IP(クリミナルアイピー)をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む