WordPressのログイン画面に重大な脆弱性「CVE-2026-64638」が判明、管理者との連携でサーバー乗っ取りの恐れも
要点
-
WordPressのログイン画面において、認証不要で悪意あるスクリプトを実行させられる反射型XSS脆弱性が修正された。
-
脆弱性は「CVE-2026-64638」として管理され、深刻度は10点満点中「8.9」の重大な部類に分類されている。
-
すでにログイン済みの管理者が悪意あるページを1クリックすることで、最終的にサーバー上で不正なPHPコードを実行される危険性がある。
-
脆弱性を発見した研究チームは、オープンソースのAIモデルと複数エージェントによるワークフローを用いて約4日間でこの攻撃手順を自律的に再現した。
-
開発チームは2026年8月6日に修正版「WordPress 7.0.3」を公開し、サポート対象の旧バージョン系列にも修正を適用した。
-
WordPressは2026年8月6日、ログイン画面に存在する重大なセキュリティ脆弱性を修正する最新セキュリティアップデート「WordPress 7.0.3」を公開した。この脆弱性はすべてのバージョンに影響し、悪用されるとログインしていない第三者によってブラウザ上で不正なコードが実行され、さらに管理者権限を利用したサーバー乗っ取りにつながるおそれがある。AIを活用したセキュリティ分析プラットフォーム「pwn.ai」がこの問題を検出し、詳細を報告した。
脆弱性の概要と深刻度
今回修正された脆弱性は「CVE-2026-64638」として識別されており、共通脆弱性評価システム(CVSS)のスコアは8.9と、高深刻度に分類されている。最大の特徴は、攻撃者が対象サイトのログインアカウントや特別な権限を持っていなくても、ログイン画面を通じて攻撃を仕掛けられる点にある。
この問題は、ログイン画面における「事前認証不要(プリオーセンティケーション)な反射型クロスサイトスクリプティング(XSS)」に起因する。反射型XSSとは、ユーザーの入力値がそのままWebページに出力される仕組みを悪用し、閲覧者のブラウザ上で不正なJavaScriptを実行させる攻撃手法である。
攻撃が成立するプロセス「XSS2Shell」
脆弱性を発見したpwn.aiの検証によると、このXSSはさらに深刻な「遠隔コード実行(RCE)」へ発展させることが可能であるという。RCEとは、攻撃者が標的のサーバーやシステム上で任意のプログラムを遠隔から実行できる極めて危険な状態を指す。同チームはこの一連の攻撃チェーンを「XSS2Shell」と呼んでいる。
具体的な攻撃の流れとしては、まず攻撃者がログイン画面に細工されたユーザー名を送信し、ログイン失敗時のエラー画面を発生させる。これにより、エラー画面を訪れたユーザーのブラウザ上で自動的にJavaScriptが実行される。
このスクリプトが動作している状態で、すでにサイト管理者としてログインしているユーザーが、攻撃者の用意したWebページを1回クリック(インタラクション)すると、管理者セッションを通じてサーバー側でのプログラム実行へと連鎖する。pwn.aiの実演では、ログイン済みの管理者のセッションを利用してWordPressの「アプリケーションパスワード(外部ツールからAPI経由でアクセスするための専用パスワード)」の承認機能を呼び出し、APIの認証情報を不正に取得する。
取得した認証情報を悪用して管理者権限でREST APIにアクセスし、攻撃用のスクリプトを含むページを投稿したり、任意のZIPファイルとして用意された悪意あるプラグインをアップロードさせたりする。展開されたプラグインから直接PHPファイルを呼び出すことで、最終的にサーバー上での任意のPHPコード実行が達成される仕組みだ。なお、この過程において、アップロードされた不正なプラグインを有効化する必要はないと説明されている。
技術的な原因
脆弱性の根本的な原因は、WordPressがログイン失敗時のユーザー名を処理する際の、パース(解析)処理の不整合にある。
入力されたユーザー名は、まず安全性を高めるための処理を行う sanitize_user() や wp_strip_all_tags() などの関数を通過する。しかし、この内部で呼び出されるPHPの strip_tags() 関数の仕様により、特定の記述(タグのような形式で、かつ開始記号 < の後ろに空白スペースが含まれるものなど)はタグとして認識されずにテキストとして通過してしまう。
その後、別のチェック関数である wp_kses_post() に渡された際、この関数は独自の基準で入力をHTMLタグとして解釈し、安全なHTML要素として出力してしまう。その結果、攻撃者が送り込んだJavaScriptを含むDOM(Webページの構造を定義する仕組み)要素がログイン失敗画面に埋め込まれることになる。
さらに、この挿入された要素が、ログイン画面に読み込まれているWordPress標準のプロファイル管理用スクリプト「user-profile.js」に干渉する。このスクリプトが参照する特定の変数を書き換えることで、WordPressの同一生成元ポリシー(異なるドメイン間での不正なアクセスを防ぐセキュリティの壁)を回避し、攻撃者が指定した接続先に対してRESTリクエスト(データのやり取り)を送信させることが可能になるという。検証では、Content Security Policy(CSP:Webサイトの安全性を高めるルール)の厳格な設定でも、この攻撃ルートを完全に遮断することはできなかったと報告されている。
AIエージェントを用いた脆弱性の再現
今回の調査で特に注目されているのが、脆弱性の発見と再現のプロセスである。pwn.aiによると、この「XSS2Shell」の攻撃チェーンは、2022年に発表された既存のセキュリティ研究手法である「SOME(Same Origin Method Execution)」を前提情報として与えられた自律システムによって再現された。
このシステムは、オープンソースのAIモデルと、役割を分担した複数のAIエージェントによるワークフローで稼働しており、約4日間の調査を経てこの一連の脆弱性チェーンの発見と再現に成功した。再現は2026年7月26日に完了し、翌7月27日にはWordPressの開発チームへ報告された。
対策と推奨されるアクション
WordPress側は2026年8月6日に「WordPress 7.0.3」をリリースし、この問題に対応した。また、影響の大きさを考慮し、サポート期間内である過去のバージョン(バージョン4.7以降の各ブランチ)に対しても修正内容をバックポート(古いバージョンのプログラムに修正を移植すること)している。
ただし、バージョン4.7より前の古いWordPressについては、すでにプロジェクトのサポート対象外となっているため、パッチは提供されていない。
開発チームは、すべてのWordPressユーザーに対し、速やかに最新バージョンへアップデートすることを推奨している。なお、自動バックグラウンド更新が有効になっているサイトであれば、特別な操作を行わなくても自動的に今回のセキュリティアップデートが適用される。
一方で、WordPress公式のアドバイザリでは、RCEの発生条件についてやや慎重な見解を示している。公式側は、サーバー上でのコード実行に至るには「攻撃者の制御が及ばない外部の条件が必要であり、管理者に対するソーシャルエンジニアリング(人間の心理的な隙を突いた詐欺行為)や、管理者自身による明示的な操作が必須である」と指摘し、実際の悪用難易度は多重のステップを伴うものであると説明している。