OpenAIのGPT-5.6 Sol Ultraが、WordPress中核に潜んでいた未認証のリモートコード実行(RCE)連鎖を約10時間で組み立てた。WordPressは2026年7月17日、発見者Adam Kuesの報告を受けて修正版を公開し、深刻度の高さから対象サイトへの強制自動更新も有効にした。さらにニュージーランドのNational Cyber Security Centre(NCSC)は7月20日、関連する2件の脆弱性が実際の攻撃に使われていると警告した。AIによる脆弱性探索は、評価環境の点数ではなく、公開ソフトウェアの修正と緊急対応を動かす段階に入った。

AD

25ドルと10時間、ただし人間の指揮下

Searchlight Cyberの研究者Adam Kuesは、最新安定版WordPressのソースコードをローカルに置き、Gitの履歴を削除したうえでGPT-5.6 Sol Ultraに監査させた。プロンプトでは、典型的なMySQL環境で認証前からRCEへ至る連鎖を探すこと、最大4エージェントを並行して使うこと、少なくとも6時間は探索を続けることを指定した。モデルはまず認証なしで成立するSQLインジェクションを発見し、KuesがRCEへ昇格できないか追加で尋ねると、約4時間後に完全な連鎖を返した。探索に要した時間は合計10時間強だった。

「約25ドル」はAPIの請求書に記録された実費ではない。Kuesは月額200ドルの契約で週次利用枠の50%を使ったとして、月4週相当で按分した金額を示している。また、Searchlight Cyberが原題に掲げた50万ドルも受領済みの報奨金ではなく、同種のWordPress RCEをエクスプロイト仲介業者が買い取る場合の価格目安である。安価な探索コストと高額な攻撃価値の落差は大きいが、2つの数字をそのまま投資収益率として比べることはできない。

この成功はモデルだけで完結していない。Kuesは対象と成功条件を定め、探索方針を与え、発見されたSQLインジェクションが実際に管理者メールを読み出せることを別環境で確かめた。さらに、モデルが作った複雑なRCE連鎖を翌日までかけて解読し、WordPressへ報告している。AIが広いコードベースから攻撃経路を探索して結び付ける一方で、人間は実験を設計して成果を再現し、意味を解釈したうえで責任ある開示を担った。

なぜ二つの欠陥から「wp2shell」が成立したのか

入口となるCVE-2026-63030は、WordPress REST APIのバッチ処理が、検証したリクエストと実際に呼び出す処理を取り違えるルート混同の欠陥だ。攻撃者は本来なら拒否される入力を別のルートで検証させ、異なる処理へ渡せる。ここでCVE-2026-60137が重なる。WP_Queryauthor__not_inは配列なら各要素を整数化するが、文字列などのスカラー値は適切に無害化せず、SQL文へ入る経路が残っていた。

バッチ処理を入れ子にすると、攻撃者はログインせずに検証をすり抜け、データベースの内容を読み出せる。だが、通常はパスワードハッシュを盗んだだけで管理者になれるとは限らない。モデルが見つけた連鎖は、WordPressの投稿キャッシュとoEmbed処理を利用して偽の投稿データをメモリ上へ作り、customize_changesetの適用時に管理者の権限が一時的に使われる挙動へつないだ。

続いて、細工した投稿の親子関係からWordPressのparse_requestフックを呼び直す。2回目の処理では一時的な管理者権限が残っているため、最初は拒否された管理者アカウント作成が通る。攻撃者はそのアカウントで悪意あるプラグインを導入し、サーバー上で任意のコードを実行できる。個々の挙動は投稿やキャッシュから、カスタマイザーとフックまで別々の機能に属するが、モデルは一つの実行経路として接続した。

Cloudflareによると、RCEは永続オブジェクトキャッシュを使っていない環境で成立し、ログインも利用者の操作も要らない。プラグイン固有の欠陥ではなくWordPress中核が対象である点も影響を大きくする。ただし、永続オブジェクトキャッシュを使う構成まで同じ連鎖が通るとは確認されていない。

AD

6.8と6.9以降で異なる影響範囲

2件の脆弱性は影響する版が異なる。WordPress 6.8系にはSQLインジェクションだけが存在し、REST APIのルート混同が加わった6.9以降で未認証RCEの完全な連鎖が成立する。

系列 影響する版 影響 修正版
6.8 6.8.0〜6.8.5 CVE-2026-60137によるSQLインジェクション 6.8.6
6.9 6.9.0〜6.9.4 2件の連鎖による未認証RCE 6.9.5
7.0 7.0.0〜7.0.1 2件の連鎖による未認証RCE 7.0.2
7.1 beta beta版 2件の連鎖による未認証RCE beta2

管理者が最初に確認すべきなのは、強制自動更新が成功したかである。WordPressは公式発表で即時更新を求めており、NCSCは7月20日時点で実攻撃を確認している。Cloudflareは7月17日17時03分(UTC)に無料・有料プラン向けのWeb Application Firewall(WAF)ルールを配備したが、通信がCloudflareを経由し、該当ルールがブロック動作になっていることが前提だ。WAFは更新までの防御を増やすもので、脆弱な中核コードを直すわけではない。

ベンチマークの外で変わる脆弱性調査

OpenAIは7月9日にGPT-5.6を一般提供し、Solを旗艦モデル、ultraを4エージェントが標準で協調する高能力設定として投入した。同社は、GPT-5.6のサイバー能力は安全評価上の「Critical」閾値を超えておらず、堅牢な標的へ自律的に終端攻撃を仕掛ける能力より、脆弱性を見つけて直す能力の方が強いと説明している。今回の経緯も、対象選定から開示までをモデルが自律遂行した事例ではない。

それでも、実在する中核ソフトウェアで、離れた機能をまたぐ攻撃連鎖が短時間に見つかり、開発元の修正へつながった事実は残る。これまで人間の熟練者が時間をかけて担ってきたコード探索と仮説展開を、複数のAIエージェントへ広く振れるようになった。人間の仕事は減るというより、どの標的をどの条件で調べるか、モデルの出力をどう再現し、危険な知見をいつ誰へ渡すかへ移る。

一件の成功から、AIが常に10時間と25ドルでゼロデイを見つけるとは言えない。次に必要なのは、異なるコードベースで成功率と誤検出を測り、総トークン量と人間の検証時間もそろえた再現試験である。ただし防御側には、その集計を待つ猶予はない。今回は修正版が出た7月17日から、NCSCが実攻撃を警告した7月20日まで週末しか挟んでいない。WordPress運用者が今確かめるべき数字はモデルの費用ではなく、自分のサイトが6.8.6、6.9.5、7.0.2以降へ更新されているかどうかだ。