今週(7/20〜7/26)はWordPressの認証不要RCE脆弱性「wp2shell」が実攻撃多発で最大の話題になりました。Next.jsは月次セキュリティプログラムを正式化し9脆弱性をパッチ。Firefox 153はWebAssembly×JS非同期相互運用を投入し、WebMCPのオリジントライアル現状が整理され、WordPress 7.1 Beta 3でブラウザ内WebAssembly画像処理が見えてきました。
WordPress を直撃した「wp2shell」— 認証不要RCE、7/21にCISA KEV登録
7月17日、WordPressコアに認証不要のリモートコード実行(RCE)を可能にする重大な脆弱性チェーン「wp2shell」が公開されました。7月20日から攻撃が急増し、7月21日にはCISAのKnown Exploited Vulnerabilities(KEV)カタログへの追加が確認されています。WordPressはパッチ版を公開し、強制自動更新を発動しました。
出典: Rapid7 — CVE-2026-63030: wp2shell Critical RCE / The Hacker News — wp2shell Exploitation Grows / WordPress.org — 7.0.2 Release
2つのCVEが連鎖してRCEが成立する仕組み:
- CVE-2026-63030: RESTバッチエンドポイント(
/wp-json/batch/v1)のロジック欠陥。バリデーションループと実行ループが非同期になり、リクエストが意図しないハンドラーで処理される - CVE-2026-60137:
author__not_inパラメータのSQLインジェクション。文字列スカラーとして渡すとRAW SQLに直接補間される
単体では不発でも、2つを組み合わせると未認証のまま管理者アカウントを作成し、悪意のあるプラグインをアップロードしてRCEを達成できます。
対象バージョンと修正版:
- WordPress 6.9.0〜6.9.4 → 6.9.5 に更新
- WordPress 7.0.0〜7.0.1 → 7.0.2 に更新
- 6.8以前は影響なし
今週の実被害状況: セキュリティ研究者のハニーポットに数万件の攻撃試行。不正管理者アカウント100件超の作成・Overlord RATの設置・DBクレデンシャル窃取が確認されています。WizのデータではWordPress利用組織の60%が当初脆弱なインスタンスを持っていました。
CVSSスコア10.0(最大)・認証不要・デフォルトインストールで攻撃可能という三拍子が揃った最悪ケースです。WordPress.orgが強制自動更新を発動した判断は正しいですが、自動更新が無効になっているサーバーや古いバージョンに固定している環境は手動で確認が必要です。パッチ適用後も「不審な管理者アカウントが増えていないか」「見知らぬプラグインが入っていないか」の事後確認を忘れずに。
💡 今すぐ試せる: wp core version でバージョン確認。6.9系は6.9.5以上、7.0系は7.0.2以上に更新。管理画面 → ユーザー一覧で不審な管理者アカウントを、プラグイン一覧で身に覚えのないプラグインを確認する
Next.js が月次セキュリティリリースプログラムを正式化 — 9脆弱性を一括修正
7月21日(月)、Next.jsが予告通り月次セキュリティアップデートを実施しました。v16.2.11(Active LTS)とv15.5.21(Maintenance LTS)がリリースされ、9件の脆弱性(高4件・中5件)に対応しています。
出典: Next.js — July 2026 Security Release / Netlify Changelog — Next.js security release July 2026 / CyberSecurityNews — Next.js Monthly Security Updates
今回の主な脆弱性:
- SSRF(サーバーサイドリクエストフォージェリ): 外部エンドポイントへの不正リクエストを誘発できる問題
- ミドルウェア認証バイパス: App Routerのミドルウェアをスキップして認証なしにルートへアクセスできる問題
- DoS(サービス拒否): 細工されたリクエストでサーバーを過負荷にできる問題
- キャッシュ・ID情報の漏洩: レスポンスに含まれてはならない情報が外部に出る問題
月次プログラム化の背景: Vercelは「AIによる脆弱性発見の速度が急上昇しており、開発・セキュリティチームが計画的にアップグレードを組み込めるようにするため」と説明しています。毎月第3月曜にセキュリティリリースを行うと決め、次は8月17日(月)が予定されています。
Next.jsをプロダクションで動かしているなら今週中に更新を。ミドルウェア認証バイパスは影響範囲が広く、v15系・v16系どちらも対象です。「月次プログラム化」はupgradeをスケジューラブルにするという意味で歓迎できますが、裏を返せば毎月必ずセキュリティ更新が出ると想定して、依存関係の更新フローを仕組み化しておく必要があります。
💡 今すぐ試せる: npm ls next でバージョン確認 → v15系はv15.5.21以上、v16系はv16.2.11以上に更新。GitHub DependabotやRenovateの自動PRをセキュリティ更新専用にトリガー設定しておくと次回以降が楽になる
Firefox 153 リリース — WebAssembly × JS 相互運用が現実に
7月21日、Firefox 153がリリースされました。エンドユーザー向けにはプロファイル管理・QRコード共有・HDR動画再生などが追加されましたが、開発者にとっての最注目はWebAssemblyとJavaScriptの非同期相互運用です。
出典: MDN — Firefox 153 release notes for developers / Phoronix — Firefox 153 Available With Vulkan Video Decoding
WebAssembly Promise Integration(JS-PI): WebAssemblyモジュールの中からPromiseを「待つ」ことができるようになります。これまでWASMは同期的な世界に閉じていて、fetchやIndexedDBなどの非同期JS APIを呼ぶにはWebWorkerや複雑なブリッジが必要でした。JS-PIにより、WASM内でawait相当の挙動が実現します。RustやC++で書いた高速処理ロジックに非同期JS処理を組み合わせる際のハードルが大きく下がります。
テキストimport(import ... with { type: "text" }): SVGファイル・SQLクエリ・プロンプトテンプレートなどをそのまま文字列としてimportできます。
import svgContent with { type: "text" } from "./icon.svg";
import sqlQuery with { type: "text" } from "./query.sql";
fetchする必要がなく、バンドラーがファイルをインライン化します。
IDBObjectStore.getAllRecords() / IDBIndex.getAllRecords(): IndexedDBのキーとバリューを同時に1回で取得できる新メソッド。従来の getAll() + getAllKeys() を2回呼ぶパターンが1回で完結します。
Picture-in-Picture がデスクトップで完全対応: ビデオ・Canvasをフローティングウィンドウ化するAPIが全主要ブラウザでサポートされました。
See the Pen Picture-in-Picture API — Canvas Animation Demo by BaseKENT (@basekent) on CodePen.
WebAssembly JS-PIは地味に見えて影響が大きい。RustやC++で書いたロジックをWASMに持ち込みながら、その中でfetchやDBを呼べるようになります。テキストimportはSVGをコンポーネントとしてimportするユースケースで即使えます。Viteの ?raw サフィックスが不要になる日も近づいています。
💡 今すぐ試せる: Firefox 153で import icon with { type: "text" } from "./icon.svg" を試す。Chrome・Safariは未対応なのでBabelプラグイン or Viteの ?raw と組み合わせて段階移行する。PiPはCanvas要素に captureStream() を使うと動的コンテンツも浮かせられる
WebMCP オリジントライアル — 規格は完成形に近いが実採用はほぼゼロ
Chrome 149のオリジントライアルとして提供中の WebMCP(Web Model Context Protocol)。7月23日に状況まとめが公開され、今週注目を集めています。
出典: Chrome for Developers — WebMCP / Spronta — State of WebMCP: July 2026 / InfoQ — WebMCP web standard Chrome
MCPがAIエージェントとツールを繋ぐプロトコルなら、WebMCPは「Webサイト自体がMCPサーバーになれる」標準です。サイトがHTMLにJSON定義を置くと、ブラウザ内AIエージェントがDOMスクレイピングではなく型付きツール呼び出しで直接操作できるようになります。

7月の現状(正直なところ):
- 仕様: Google・Microsoftが共同エディター。数日前に更新。完成度は高い
- Chrome DevTools: WebMCPの検査・手動ツール呼び出し・デバッグをサポート
- 実採用: ほぼゼロ。オリジントライアルトークンを使っている実サイトはごくわずか
- エージェント側: WebMCPツールを実際に呼べるエージェントが現時点でほぼ存在しない
今「使える」技術ではないが、知っておく価値は高い。AIエージェントがWebを操作する時代に、DOMスクレイピングではなく型安全なツール呼び出しで動かせるサイトを先に設計しておくことは競争優位になりえます。ECサイトや予約サイト・SaaSを運用している方は6〜12ヶ月先の話として設計思想を把握しておくと良いです。
💡 今すぐ試せる: Chrome DevToolsの設定(⚙)→ ExperimentsでWebMCPパネルを有効化し、どんな情報が見えるか試してみる。自分のサイトに簡単なツール定義JSONを追加してDevToolsで検査する体験から始めるのが最短
WordPress 7.1 Beta 3 — WebAssemblyでブラウザ内画像処理が実用段階へ
WordPress 7.1の開発が最終フェーズに入り、Beta 3が今週リリースされました。8月19日(WordCamp US)の正式リリースに向け、週次でベータ版が出ています。
出典: WordPress.org News — WordPress 7.1 Beta 3 / WebDevStudios — WordPress 7.1 Features
7.1の目玉機能は複数ありますが、実務への影響が最も大きいのはクライアントサイドメディア処理です。従来のPHPとGD/ImageMagickによるサーバーサイド処理を、WebAssemblyでブラウザ上に移行します。
WebAssemblyで画像処理をブラウザ内で完結するメリット:
- PHPメモリ制限を超える大容量ファイルも問題なくアップロード可能
- GD・ImageMagickのインストール不要(サーバー要件が緩和)
- HEIC→JPEG変換などがサーバー負担ゼロで実現
- EXIFデータによる自動回転が正確に動作するように
その他の主な新機能:
- ビューポートごとのスタイリング: ブロックエディタでデスクトップ・タブレット・モバイルのスタイルを個別設定。プレビューも自由なサイズで確認可能
- Tabsブロック: ネイティブのタブUIをプラグイン不要で追加
- インラインコメントと@メンション: 編集画面でチームのレビューフローを完結できるように
「WebAssemblyがサーバー要件を変える」事例がWordPressのような超主流CMSに入ってきたのは大きい。プラグイン開発者・テーマ開発者は memory_limit にまつわるエラーハンドリングを外してよくなる可能性があります。8/19の正式リリース後はサーバー要件の説明文書を見直すことをお忘れなく。
💡 今すぐ試せる: テスト環境に wp core update --version=7.1-beta3 --force でBeta 3をインストール。HEICファイルのアップロードとビューポートごとのスタイリングを確認。8月19日の正式リリースに向けたプラグイン互換性テストも今から始めておくと安心
今週のひとこと
今週はWordPressのwp2shellに象徴される「攻撃の自動化・高速化」と、ブラウザへの「処理移行」という2つの大きな流れが同時に見えた週でした。セキュリティ面ではAIが脆弱性発見と攻撃コード開発を加速させており、WordPressのCVSS 10.0・Next.jsの月次プログラム化はその直接的な対応です。一方でWebAssembly・WebMCP・Firefox JS-PIは「処理の実行場所」を再定義する技術として着々と進んでいます。更新を後回しにしない、リリースノートを週一で確認する、この2つの習慣が今後ますます大事になりそうです。



