【緊急】WordPress重大脆弱性「wp2shell」対策 — 対象バージョンの確認と今すぐの更新(CVE-2026-63030 / CVE-2026-60137)

2026年7月22日

2026年7月17日、WordPress本体(コア)に深刻な脆弱性が見つかり、修正版が緊急公開されました。「wp2shell」と通称される一連の問題です。プラグインが入っているかどうかに関係なく、素のWordPressだけで外部から乗っ取られる恐れがあり、すでに実際の攻撃が確認されています(世界各地からのスキャン・攻撃が報告されています)。まずは落ち着いて、お使いのバージョンの確認と更新を進めましょう。

いま、WordPressで何が起きているのか

やっかいなのは、次の2つの弱点が「連鎖」して悪用される点です。

  • CVE-2026-63030 … REST APIのバッチ処理エンドポイントで、リクエストの経路を取り違えてしまう不具合(ルート混同)
  • CVE-2026-60137 … データベース検索の内部処理(WP_Query の author__not_in パラメータ)に潜むSQLインジェクション

このうちSQLインジェクション(CVE-2026-60137)は、本来は悪用にログイン認証が必要でした。ところがバッチ処理の不具合(CVE-2026-63030)を入口にすると、ログインしていない外部の攻撃者でも発火させられるようになります。結果として、攻撃者が勝手に管理者アカウントを作り、最終的にサーバー上で任意のコードを実行(未認証RCE)できてしまう——これが今回の一番怖いところです。

しかもこれは、特定のプラグインが入っているかどうかに関係なく、素のWordPressだけで成立します(永続オブジェクトキャッシュが無効=RedisやMemcachedなどの永続キャッシュを導入していない、という一般的な初期構成で有効化されるコードパスを突きます)。

深刻度スコア(CVSS)は評価機関によって数字が割れています。たとえばCVE-2026-63030はWPScanが9.8(Critical)、CISAの補足評価では7.5(High)と幅があり、CVE-2026-60137も、WPScanは5.9(Medium)、CISAの補足評価では9.1(Critical)とばらつきます。数字の解釈は分かれますが、「未認証で乗っ取りに至る連鎖」であること、そして実際に悪用が始まっていることから、業界としては最優先で対処すべき事案として扱われています。

そして重要な事実として、これはすでに「実際に攻撃が行われている(in-the-wild)」状態です。米CISAの悪用実績カタログ(KEV)にも、2026年7月21日時点で「能動的に悪用中」として登録されています。修正版は公開時点では悪用が確認されていませんでしたが、公開当日(7月17日)の夜には探索とSQLインジェクションの試行が始まり(協定世界時の同日23:42に試行を観測)、まもなく実際の悪用が報告されました。7月20日には能動的な悪用が観測され、公開された実証コード(PoC)を燃料に大規模なスキャンへと広がっています。

あなたのサイトは影響を受けるか(対象バージョン)

まず、お使いのWordPressのバージョンを確認してください。管理画面の「ダッシュボード → 更新」や、フッター付近に表示されるバージョン番号で分かります。

未認証RCE(外部から乗っ取られる完全な連鎖)の対象は、次のバージョンです。

  • WordPress 6.9.0 〜 6.9.4
  • WordPress 7.0.0 〜 7.0.1
  • (7.1 beta も両方の問題に該当)

加えて、SQLインジェクション単独(CVE-2026-60137)の影響は 6.8.0 〜 6.8.5 にも及びます。ただしこのバージョン帯には、連鎖の入口となるREST APIバッチ機能(6.9で追加)が無いため、未認証RCEにまでは連鎖しません。とはいえSQLインジェクション自体は残るため、更新は必要です。6.8.0より前のバージョンは、今回の問題には該当しません(ただし別の理由で、古いバージョンの利用自体は推奨しません)。

修正が入ったバージョンは以下の通りで、いずれも2026年7月17日にリリースされています。

  • 6.8系 … 6.8.6(SQLインジェクションのみ修正)
  • 6.9系 … 6.9.5
  • 7.0系 … 7.0.2
  • 7.1 beta2 でも修正済み

安全かどうかは、バージョン番号の単純な大小ではなく「お使いの系列(ブランチ)の修正版に達しているか」で判断してください。具体的には、6.8系なら6.8.6以上、6.9系なら6.9.5以上、7.0系なら7.0.2以上であれば、今回の件については対策済みです。それ未満なら、すぐの対応をおすすめします。

いますぐ手早く確認する方法

「自分のサイトのバージョンがよく分からない」「複数サイトをまとめて見たい」という方は、WPドックの無料診断をお使いください。サイトのURLを入れるだけで、外部から(ログイン情報なしで)WordPressの状態を診断します。読み取りのみ・GETリクエストのみで、サイトに変更を加えることは一切ありません。

ただし、外部からの診断で分かることには限界がある点も、正直にお伝えします。URLだけで外部から判定できるのは「稼働中のWordPressバージョンの推定」までです。metaジェネレータタグ、/wp-json(REST APIのルート)、readme.html、RSSフィードのgenerator表記などから推定し、6.8.0〜6.8.5 / 6.9.0〜6.9.4 / 7.0.0〜7.0.1 に該当すれば「脆弱なバージョンの可能性が高い」とお知らせできます。

一方で、次の2点は外部診断だけでは断定できません。

  • 実際に侵害されているかどうか(外部からは判定できません)
  • 本当にパッチ未適用かどうか(強制自動更新やバックポート、WAF等で対策済みでも、バージョン表記が古いまま見えることがあります。逆にバージョンを隠したり書き換えているサイトもあります)

確実に「侵害されていないか」まで見るには、ログイン権限のある点検やファイル・データベースへのアクセス(スキャナ実行)が必要です。外部診断は「まず脆弱バージョンかどうかの当たりをつける」ための第一歩とお考えください。

対処 — まずは更新を

最優先の対処は、修正版へのアップデートです。該当ブランチに合わせて、以下のいずれかへ更新してください。

  • 7.0系をお使いなら … 7.0.2
  • 6.9系をお使いなら … 6.9.5
  • 6.8系をお使いなら … 6.8.6

自動更新(マイナー更新の自動適用)を有効にしているサイトについては、WordPress側が事態の深刻さを踏まえ、強制的な更新(force-push)を実施しています。ただし、これで「全サイトが確実に更新された」わけではありません。自動更新を無効にしている、あるいは何らかの理由で更新が失敗しているサイトも存在します。インターネットに公開している各サイトが実際に更新済みかどうかは、必ず個別にご確認ください。

手動で更新する場合は、管理画面の「ダッシュボード → 更新」から最新版を適用できます。更新前にバックアップを取っておくと安心です。「自分で更新するのは不安」「複数サイトを一括で安全に更新してほしい」「更新後に不具合が出ないか事前に確認してほしい」という場合は、WPドックの安全更新パック(¥39,800)をご利用ください。バックアップ取得・更新・更新後の動作確認までをまとめて代行します。

すでに侵害されていないかの簡易チェック

対象バージョンを長く使っていた場合は、更新に加えて「すでに入り込まれていないか」の確認をおすすめします。以下は、今回の攻撃で報告されている痕跡(IOC)の要点です。専門的な部分もありますが、チェックの目安としてご覧ください。

不審な管理者アカウント

  • ユーザー名が wp2_ / w2s_ / wpsvc_(+16進数)で始まる管理者
  • メールアドレスのドメインが @wp2shell.invalid / @wp2shell.shellcode.lol / @wordpress-svc.internal / @wordpress-noreply.net / @x.lol など、見覚えのないもの
  • 管理者権限で大量に作られていることがあります

不審なファイル(Webシェル)

wp-content/cache や wp-content/uploads の配下に、見覚えのないPHPファイルがないかを確認します。注意点として、cache配下は正規のキャッシュプラグイン(WP Super Cache や W3 Total Cache 等)も正当な .php を書き出すため、「PHPがある=侵害」ではありません。ランダムな名前・最近作成/更新された・system() / passthru() / exec() / shell_exec() / popen() やバッククォート、$_GET[‘c’] などのコマンド実行を含む——といった不審な特徴を持つファイルを、重点的に確認してください。

  • wp-content/cache/ 配下に、ランダムな名前で最近作られたPHPファイル(URLパラメータのパスワードでガードされ、正しいパス無しでアクセスすると偽の404を返す挙動が報告されています)
  • wp-content/plugins/(それらしい名前)-(6桁の16進)/ の中に、約1.3KBの小さなPHPファイル(偽のAuthor表記、?c=コマンド の形でコマンドを受け付ける)
  • 正規のセキュリティプラグイン「CMSmap」を装った、約150KBの高機能な不正プラグイン(管理画面にプラグインとして表示される場合があります)

その他の残置物・改ざん

  • Golang製の遠隔操作型マルウェア「Overlord RAT」の設置試行
  • データベース上の異常(oembed_cache のloopback行、極端に大きいparent IDを持つ customize_changeset、孤立した usermeta、ユーザーIDの欠番、wp_options の active_plugins / siteurl / home の書き換えなど)
  • コアファイルの改ざん(WP-CLIが使えるなら wp core verify-checksums で公式ハッシュと照合できます)

もし上記に心当たりがある場合や、念のため確認したい場合は、公式・信頼できる侵害スキャナで確認できます。万一、侵害の痕跡が見つかった場合は、更新だけでは不十分です。まずデータベースとWebルートを証拠として保全したうえで、全ユーザーのパスワードをリセット(SQLインジェクション単独でもパスワードのハッシュを読み取られている可能性があります)、APIキーやシークレットのローテーション、不正な管理者アカウントの削除、改ざんされた設定の是正、そしてWebシェルやマルウェアの除去まで行う必要があります。ここは無理をせず、専門家にご相談ください。

まとめ — いま、何をすべきか

今回のwp2shellは、素のWordPressだけで未認証の乗っ取り(RCE)に至る、公開直後から悪用が続いている重大な脆弱性です。過度に不安を煽るつもりはありませんが、事実として「同日中のパッチ適用」が求められるレベルの案件です。やることはシンプルです。

  1. まずお使いのバージョンを確認する(未認証RCEの対象は 6.9.0〜6.9.4 / 7.0.0〜7.0.1、SQLi単独は 6.8.0〜6.8.5 も)
  2. お使いの系列の修正版へ更新する(6.8系→6.8.6 / 6.9系→6.9.5 / 7.0系→7.0.2)
  3. 対象バージョンを長く使っていたなら、侵害の痕跡もチェックする

「自分のサイトが対象か分からない」なら、まずは無料診断でバージョンの当たりをつけてください。URLを入れるだけ・読み取りのみで確認できます。「安全に更新してほしい」「侵害チェックまでお願いしたい」なら、安全更新パックをはじめとする各種メニューをご用意しています。個別のご相談・お見積りはお問い合わせフォームからどうぞ。WordPress歴13年以上のエンジニアが対応します。

なお、当サイト(WPドック)自身は、今回の件を受けてWordPress 7.0.2(パッチ済み)へ更新済みで、コアの verify-checksums にも合格、侵害の痕跡(IOC)もゼロで無傷であることを確認しています。だからこそ、私たちは自信を持って対策のお手伝いができます。まずはお気軽に無料診断からお試しください。

参考・出典

本記事の記載内容は2026年7月22日時点の公開情報に基づきます。CVSS等の評価は今後変わる可能性があります。

無料で診断する