Cloudflare に移せば Next.js の脆弱性も関係ない?「動かすサイト」と「置くだけのサイト」の違い
2026年10月は PHP2Shell に続いて、Next.js や Node.js にも重大な修正が出た。移行先にも穴があるなら意味がないのか。脆弱性が入り込む場所と、置くだけのサイトが強い理由を図で説明する。
Cloudflare に移せば Next.js の脆弱性も関係ない?「動かすサイト」と「置くだけのサイト」の違い
- 脆弱性が入り込むのは、見る人が来るたびにサーバーで動くプログラム(PHP・WordPress・Next.js のサーバーなど)
- できあがったページを置くだけのサイト(静的サイト)は、動くものがほとんどないので、入口が少ない
- 10月の Next.js の脆弱性も、サーバーで Next.js を動かしている場合の話。HTML に書き出して置くだけなら当たらない
- 「Cloudflare に移す」にも、置くだけの移し方と、プログラムを動かす移し方がある。後者は更新が要る
今回の Next.js の脆弱性はどこに入ったか
Next.js の今回の修正を、当たる条件で見ると次のようになる
- use cache の不具合(重大):16 系で、キャッシュの機能を使い、特定の形のデータを返している
- 画像の加工の不具合(重大):サーバーで SVG の画像を加工している(Linux の上で動かしている)
- Server Actions を止める攻撃(高):Server Actions を使っている
「Cloudflare に移す」の2つの意味
Cloudflare に移す、と言っても、中身は2通りある
- 置くだけにして移す:ページを HTML にして Cloudflare に置く。フォームなど一部だけ小さなプログラムにする
- プログラムごと移す:Next.js などを、Cloudflare Workers の上で動かす
- お問い合わせフォームなど、一部に残る小さなプログラム(中身が短いので、確かめやすい)
まとめ
- 脆弱性はどの仕組みにも見つかる。違いは「動くプログラムがどれだけあるか」
- 置くだけのサイトは、動くものがほとんどないので、PHP2Shell も今回の Next.js の脆弱性も当たらない
- 移すなら、置くだけの形にするのが、いたちごっこを終わらせる近道
2026年10月は、PHP2Shell(10月21日)の前後に、Next.js(10月14日)や Node.js でも重大な修正が出た。「PHP をやめて別の仕組みに移しても、そっちにも穴があるなら同じでは?」と感じた人もいると思う。
結論から言うと、同じではない。脆弱性が入り込むのは「サーバーで動くプログラム」で、サイトをどう作るかによって、その量が大きく変わる。この記事では、その違いを順に説明する。
- 脆弱性が入り込むのは、見る人が来るたびにサーバーで動くプログラム(PHP・WordPress・Next.js のサーバーなど)
- できあがったページを置くだけのサイト(静的サイト)は、動くものがほとんどないので、入口が少ない
- 10月の Next.js の脆弱性も、サーバーで Next.js を動かしている場合の話。HTML に書き出して置くだけなら当たらない
- 「Cloudflare に移す」にも、置くだけの移し方と、プログラムを動かす移し方がある。後者は更新が要る
10月に出た主な修正
まず、何が起きたのかを整理する。どれも「ログインなしで、外からサーバーのプログラムを動かされるおそれ」がある重大なものだ。
| 仕組み | 公表 | 中身 | 修正版 |
|---|---|---|---|
| PHP(PHP2Shell) | 10月21日 | CVE-2026-109618 / 109619。危険度 9.2 | 8.5.12・8.4.27・8.3.36・8.2.35 |
| Next.js | 10月14日 | 重大2件(use cache と画像の加工)と、高1件(Server Actions を止める攻撃) | 16.4.1・15.5.28 |
| Node.js | 同じ週 | 圧縮データの処理などで10件 | 各系列の最新版 |
PHP2Shell は、PHP で動くサイトなら広く当たる。一方、Next.js の重大な2件は「特定の機能を使っている」「サーバーで画像を加工している」など、条件がそろったときに当たる。
「動かすサイト」と「置くだけのサイト」
Web サイトの作り方は、大きく2つに分かれる。
動かすサイト
見る人がページを開くたびに、サーバーの上でプログラムが動き、その場でページを組み立てて返す。WordPress は PHP でこれを行う。Next.js も、サーバーで動かす使い方ではこの形になる。
その場で組み立てるので、会員ごとに違うページを出したり、カートの中身を計算したりできる。そのかわり、組み立てるプログラムに穴があれば、外から入り込まれる。PHP2Shell も、今回の Next.js の脆弱性も、この「組み立てるプログラム」に見つかった穴だ。
置くだけのサイト(静的サイト)
ページをあらかじめ HTML として作っておき、それをそのまま配る。見る人が来ても、サーバーでプログラムは動かない。会社案内・お店の紹介・採用・ブログのように、誰が見ても同じ中身のページなら、この形で十分なことが多い。
動くプログラムがないので、プログラムの穴を突く攻撃は届く先がない。PHP の更新も要らなくなる。
動かすサイトは「注文を受けてから料理を作る厨房」で、置くだけのサイトは「できあがったお弁当を並べた売り場」に近い。厨房には火や刃物があるので、気をつける所が多い。売り場は渡すだけなので、事故の起きる所が少ない。
今回の Next.js の脆弱性はどこに入ったか
Next.js の今回の修正を、当たる条件で見ると次のようになる。
| 脆弱性 | 当たる条件 | 置くだけのサイトでは |
|---|---|---|
use cache の不具合(重大) | 16 系で、キャッシュの機能を使い、特定の形のデータを返している | 当たらない(サーバーで動かない) |
| 画像の加工の不具合(重大) | サーバーで SVG の画像を加工している(Linux の上で動かしている) | 当たらない(加工をしない) |
| Server Actions を止める攻撃(高) | Server Actions を使っている | 当たらない(サーバーで動かない) |
Next.js には、サイトを HTML に書き出して置くだけにする使い方(静的エクスポート)もある。この使い方なら、上の3つはどれも当たらない。同じ Next.js でも、動かすか置くだけかで、危なさが大きく変わるということだ。
「Cloudflare に移す」の2つの意味
Cloudflare に移す、と言っても、中身は2通りある。
| 移し方 | 中身 | 更新の手間 |
|---|---|---|
| 置くだけにして移す | ページを HTML にして Cloudflare に置く。フォームなど一部だけ小さなプログラムにする | ほとんど要らない |
| プログラムごと移す | Next.js などを、Cloudflare Workers の上で動かす | 動かす仕組みの更新は続く |
PHPチェッカーが勧めているのは、前者の「置くだけにして移す」形だ。PHP をやめても、別のプログラムを同じように動かすなら、更新の手間はなくならない。それでは PHP2Shell のときと同じことがくり返される。
- お問い合わせフォームなど、一部に残る小さなプログラム(中身が短いので、確かめやすい)
- Cloudflare やドメインのアカウントの乗っ取り(2段階認証を必ず使う)
- ページに入れている JavaScript の部品(古い部品は入れ替える)
0 にはならないが、守る所が少なく、目が届く大きさになる。
自分のサイトがどちらか見分ける
| こんなサイトなら | たぶんこっち |
|---|---|
| WordPress で作った | 動かすサイト |
| ログインや会員ページがある | 動かすサイト |
| ネットショップのカートがある | 動かすサイト |
| 制作会社が HTML で作り、更新はたまに頼む | 置くだけのサイトに近い |
| Next.js で作ったと言われた | 作り方による。制作会社に「静的エクスポートか」を聞く |
このサイトの診断に URL を入れると、外から分かる範囲で仕組みが分かる。WordPress なのか、Next.js なのか、PHP の手がかりがあるかが表示される。
まとめ
- 脆弱性はどの仕組みにも見つかる。違いは「動くプログラムがどれだけあるか」
- 置くだけのサイトは、動くものがほとんどないので、PHP2Shell も今回の Next.js の脆弱性も当たらない
- 移すなら、置くだけの形にするのが、いたちごっこを終わらせる近道
よくある質問
Next.js で作ったサイトは、今回の脆弱性に当たりますか?
サーバーで Next.js を動かしているかどうかで変わります。
HTML に書き出して置くだけ(静的エクスポート)なら当たりません。
サーバーで動かしているなら、16.4.1 か 15.5.28 以降に上げてください。
Cloudflare に移せば、もう脆弱性の心配はいりませんか?
置くだけの形にすれば、守る所は大きく減ります。
ただし、フォームなどの小さなプログラムや、アカウントの管理は残ります。
2段階認証は必ず使ってください。
自分のサイトが動かすサイトか、置くだけのサイトか分かりません
WordPress で作ったなら、動かすサイトです。
このサイトの診断に URL を入れると、外から分かる範囲で仕組みが分かります。
参考にした情報
- php.net(2026年10月21日のセキュリティ告知)
- GitHub Advisory:Next.js の use cache の脆弱性(GHSA-673q-mjm6-r5xr)
- Netlify:Next.js & React security release (Oct 2026)(英語)
- シンガポール CSA:Critical Vulnerabilities in Next.js(英語)
- Next.js:Static Exports(英語)
- Node.js:Vulnerability blog(英語)
2026年10月22日時点の公開情報にもとづく。脆弱性の情報や各サービスの機能は変わることがあるので、最新は公式のページを確認すること。Cloudflare は Cloudflare, Inc. の商標で、PHPチェッカーは Cloudflare の公式のサービスではない。
URL を入れるだけで、今のサイトの仕組みと PHP の状態が分かる。移行の相談もできる。
無料で診断する


