1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIが見つけた「wp2shell」、何をどうやって見つけたのか

1
Last updated at Posted at 2026-07-23

この記事は 「誰でもわかるセキュリティの話」シリーズ の記事です。
Python歴5年以上、セキュリティにも興味がある変態が書いています。

この記事は 個人の経験に基づくポエムです。
環境・用途・経験によって異なる場合があります。

2026年7月17日、WordPressが緊急のセキュリティリリースを出した。

世界で最も使われているCMSの標準構成——プラグインを一切入れていない状態でも、未認証の攻撃者がリモートでコードを実行できてしまう脆弱性が見つかった。

その名も「wp2shell」。
そしてこの脆弱性、AI(大規模言語モデル)を用いた解析によって発見されたと報じられている。

先に断っておくこと

先に断っておくと、この記事は「AIが人間の代わりにハッキングした」という話ではない。

発見したのはあくまでSearchlight Cyber傘下のセキュリティ研究者だ。
AIは、その研究者の解析作業を助けるツールとして使われた。

この記事は、その「助け方」がどんなものだったのかを整理する内容だ。

結論:一つの穴ではなく、二つの穴の「組み合わせ」だった

最初に結論を書く。

wp2shellは、単一の脆弱性の名前ではない。
2つの不具合を組み合わせた攻撃手法につけられた呼び名だ。

片方だけでは、そこまで危険ではなかった。
組み合わさったことで、認証不要のリモートコード実行という最悪の結果になった。

何が起きていたのか

1つ目(CVE-2026-63030)はWordPressのREST APIの中にある。複数の処理をまとめて実行する「バッチ処理」で、どの要求がどの処理に対応するかの紐づけがずれる不具合だ。これにより、本来は呼び出せないはずの処理を動かしたり、入力のチェックをすり抜けたりできてしまう。

「呼び出せないはずの処理が、なぜか呼び出せる」

こう聞くと、単純なバグに思える。でもこれが1つ目のピースだった。

2つ目(CVE-2026-60137)は投稿を検索する内部のしくみ(WP_Query)にある。特定のパラメータ(author__not_in)に細工した値を渡すと、SQLインジェクション——データベースに対して意図しない命令を送り込める状態が生じる。

この2つを組み合わせることで、外部から未認証のままリモートコード実行(Pre-Auth RCE)が可能になる。

なぜAIによる解析が効いたのか

ここが一番気になる部分だ。

脆弱性を見つけるとき、人間の研究者は「怪しそうな箇所」に当たりをつけて読んでいく。
コードベースが大きくなるほど、この「当たりをつける」作業自体が大変になる。

REST APIのバッチ処理という、一見普通に動いている機能。
検索パラメータという、日常的に使われている入力。

単体では危険に見えない箇所を、大量に、かつ組み合わせで検証する作業は、
人間が一つずつ手作業でやるには膨大な労力がかかる。

AIは「ここが怪しい」という直感を持たない代わりに、
広い範囲を機械的に、疲れずに検証し続けられる。
「意味のなさそうな組み合わせ」を大量に試せることが、この手の複合的な脆弱性の発見と相性がいいのだと思う。

補足:「AIによる解析が発見に使われた」という情報は、一部のメディアが報じているものであり、発見者であるSearchlight Cyber(Assetnote)による一次発表そのものでは確認できていません。この点は参考情報として捉えていただければと思います。

影響範囲と対応

RCEが成立するのはWordPress 6.9.0〜6.9.4と7.0.0〜7.0.1。6.8.0〜6.8.5はSQLインジェクション単体の影響を受ける。

根本対策はWordPress Coreを修正版へ更新することだ。7.0系は7.0.2以上、6.9系は6.9.5以上へ更新する。6.8系はwp2shellのRCE対象ではないが、SQLインジェクションを修正するため6.8.6以上へ更新する。

WAFやプラグインによるアクセス制限は脆弱なコードを修正しないため、更新の代わりにはならない。
一時的な緩和策はあっても、根本対応はバージョンアップしかない。

この不具合が作り込まれたのは2025年12月2日に公開されたWordPress 6.9からだ。比較的新しいバージョンにだけ存在する脆弱性であり、古い6.8系やそれ以前のサイトはこの特定の穴に関しては影響を受けない。

「とにかく最新にすれば安全」という思い込みが、必ずしも正しくないことがここでわかる。
新しい機能が増えるほど、新しい穴も増える。

じゃあ、これからどうなるのか

wp2shellは特別に運が悪い事故ではない。WordPressの脆弱性は毎週のように報告されている。

そして今回、AIによる解析がその発見に使われた。

これは今後、脆弱性の発見スピードそのものが変わっていく可能性を示している。
攻撃者側もAIを使えば、同じように「広く機械的に」穴を探せるようになる。

守る側も、同じ武器を持たないと追いつけなくなるかもしれない。

まとめ

  • wp2shellは1つの脆弱性ではなく、2つの不具合の組み合わせ
  • REST APIのバッチ処理の紐づけミスと、検索パラメータのSQLインジェクション
  • AIによる解析が発見に使われたと報じられている
  • 「怪しそうな箇所への直感」より「広範囲を機械的に検証する力」が効いた可能性がある
  • 対応は根本的にバージョンアップのみ。WAFは代わりにならない

脆弱性を見つける側にもAIが入り始めている。
それは守る側にとって朗報でもあり、少し不安でもある。

同じように「WordPressを運営していないから関係ない」と思っていた人がいたら、
それは多分、自分も含めて、あなただけではない。


「誰でもわかるセキュリティの話」 シリーズでは、
セキュリティの仕組みを言語化していきます。

👉 ストックをフォローしておくと次の記事を見逃しません!

1
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?