1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WordPressコア未認証RCE(CVE-2026-60137/63030)wp2shellの確認と更新手順

1
Last updated at Posted at 2026-07-21

WordPress コア本体に、認証不要でリモートコード実行(RCE)に至る脆弱性チェーン「wp2shell」が報告されました。プラグインではなくコアの欠陥なので、対象バージョンで動くサイトはすべて影響します。

この記事は、自分のサイトのWordPressバージョンを確認し、安全なバージョンへ更新するところまでを、Web担当者・サイト運営者向けにまとめたものです。攻撃の再現手順やコードは扱いません。「同じ被害を防ぐ」ための確認・更新・暫定緩和だけを書きます。

対象読者:自社サイトやクライアントサイトをWordPressで運用していて、「うちのバージョン、大丈夫だっけ?」を今すぐ確認したい方。

何が起きたのか(概要)

wp2shell は、次の2つの脆弱性を**組み合わせる(チェーンする)**ことで、認証なしのリモートコード実行を成立させるものです。

CVE 内容 深刻度
CVE-2026-60137 WordPress コアの SQL インジェクション Critical / CVSS 9.1
CVE-2026-63030 REST API のバッチルート取り違え(route confusion) High / CVSS 7.5

単体でも危険ですが、2つを連結するとチェーン全体の評価は CVSS 9.8(未認証RCE)に達します。重要なのは、これが特定のプラグインではなくコアの問題である点です。「特別なプラグインを入れていないから大丈夫」は通用しません。

すでに PoC(検証コード)が公開され、実際の悪用(in-the-wild)も観測されていると報告されています。つまり「そのうち直せばいい」ではなく、今日中にバージョンを確認すべきフェーズです。

影響を受けるバージョンと修正版

系統 影響 修正版
6.8.0 〜 6.8.5 SQLi のみ影響 6.8.6
6.9.0 〜 6.9.4 完全な RCE チェーン 6.9.5
7.0.0 〜 7.0.1 完全な RCE チェーン 7.0.2

WordPress.org はサポート対象の全バージョンに強制的な自動更新を配信済みです。ただし、以下のようなサイトでは自動更新が届いていない・無効化されている可能性があります。

  • WP_AUTO_UPDATE_COREfalse にしている
  • DISALLOW_FILE_MODS を有効化している(自動更新も止まる)
  • バージョン固定運用(コンテナ・IaC でイメージ固定)
  • コアファイルを直接編集している(自動更新が失敗して止まる)

「自動更新に任せているから安心」ではなく、実際のバージョンを目視で確認してください。

Step 1: 今動いているバージョンを確認する

方法A: wp-cli(サーバーにSSHできる場合)

もっとも確実です。稼働中のコアの実バージョンを表示します。

# 現在のコアバージョン
wp core version

# 更新可能なコアがあるか(available と出れば未適用)
wp core check-update

6.8.6 / 6.9.5 / 7.0.2 以上であればチェーンは塞がっています。それ未満なら Step 2 へ進んでください。

方法B: 管理画面から

SSH が使えない場合は、WordPress 管理画面で確認します。

  1. 管理画面にログイン
  2. 左メニュー ダッシュボード → 更新
  3. 画面上部に現在のコアバージョンと、更新可能な場合は「WordPress x.x.x が利用可能です」が表示される

方法C: 外部から控えめに確認する

複数サイトをまとめて棚卸ししたいときは、公開されている readme.html のメタ情報で当たりを付けられます(正確な稼働バージョンは方法A/Bで確認してください)。

# メジャーバージョンの当たりを付ける(あくまで目安)
curl -s https://example.com/readme.html | grep -i "Version"

なお readme.html からバージョンが読めてしまう状態自体、情報露出として塞いでおくのが望ましいです(後述の関連記事を参照)。

Step 2: 安全なバージョンへ更新する(最優先)

根本対処はアップデートです。緩和策よりまず更新してください。

wp-cli の場合

# 事前にバックアップ(DB + ファイル)を取ってから実行
wp core update
wp core update-db

# 反映確認
wp core version

更新後は必ず wp core version修正版に上がったことを確認します。マルチサイトの場合は wp core update-db --network も忘れずに。

管理画面の場合

ダッシュボード → 更新 → 「今すぐ更新」。共有レンタルサーバーの管理パネル(自動更新機能付き)を使っている場合も、実際のバージョンが修正版になっているかを目視確認してください。

更新前のバックアップは必須です。改ざん済みだった場合に切り戻せるよう、DBとファイルの両方を退避してから更新してください。

Step 3: すぐ更新できないときの暫定緩和

検証環境の都合などで今すぐ更新できない場合の、あくまで時間稼ぎの緩和策です。恒久対策はStep 2の更新です。

WAF / Wordfence でREST APIの不審リクエストを止める

Wordfence 等のWAFを導入している場合、REST API エンドポイントへの異常なリクエストをブロックするルールが順次配信されます。WAFの定義を最新化してください。

バッチルートへのアクセスを一時的に制限する(nginx)

チェーンは REST API のバッチ処理ルートを悪用します。ブロックプラグインやヘッドレス連携でバッチAPIを使っていないサイトであれば、当該エンドポイントを一時的に閉じることで攻撃面を狭められます(制限を強める方向のみ・使っている場合は動作確認を)。

# バッチAPIを使っていないサイト向けの一時的な制限
location = /wp-json/batch/v1 {
    return 403;
}

location ~ ^/wp-json/batch/ {
    return 403;
}

Apache(.htaccess)の場合

# バッチAPIを使っていないサイト向けの一時的な制限
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^wp-json/batch/ - [F,L]
</IfModule>

反映後、サイトの投稿・更新・フォーム送信など主要機能が正常に動くことを必ず確認してください。恒久対処はあくまで更新であり、緩和を入れたことに安心して更新を後回しにしないことが重要です。

Step 4: 侵害の有無を確認する

実際の悪用が観測されているため、更新後に「すでに踏まれていないか」を軽く点検します。詳細なフォレンジックではなく、運営者が気づける範囲の確認です。

# 想定外のPHPファイルが uploads 配下に落ちていないか(Webシェルの典型)
find wp-content/uploads -name "*.php" -type f

# 直近で更新された不審なコアファイルがないか
wp core verify-checksums

wp core verify-checksumsコアファイルが公式配布と一致するかを検証します。不一致が出た場合や、uploads 配下に身に覚えのないPHPが見つかった場合は、クリーンなバックアップからの復元を検討してください(関連記事参照)。

まとめ

  • wp2shell は WordPress コアの未認証RCEチェーン(CVE-2026-60137 + CVE-2026-63030、チェーン評価 CVSS 9.8)。全サイトが対象
  • 影響は 6.8.0〜6.8.5 / 6.9.0〜6.9.4 / 7.0.0〜7.0.1。修正版は 6.8.6 / 6.9.5 / 7.0.2
  • まず wp core version か「ダッシュボード → 更新」で実バージョンを目視確認
  • 未満なら更新が最優先。すぐ更新できない場合のみバッチAPI制限やWAFで時間稼ぎ。
  • 検証コードが出回り実際の悪用もあるため、更新後に wp core verify-checksums で侵害有無も確認。

出典(一次情報・公式アドバイザリ):

関連記事

本記事のバージョン露出や更新状況は、Webサイトを9つの守りでまるごと守る「サイトドック」の月次の定期健診でまとめて確認できます → https://sitedock.jp

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?