2026年10月の脆弱性まとめ|PHP・Node.js・Next.js・Laravelほか、放置した時の被害と対策
かつ
2026/10/22
2026年10月は、Webサイトやシステムでよく使われる技術に、重大な脆弱性(セキュリティの穴)が続けて見つかりました。PHP・Node.js・Next.js・React・Laravel など、ふだん名前を聞く技術ばかりです。
この記事では、2026年9月以降に各プロジェクトが公式に発表した脆弱性を一覧にし、放置したらどうなるか と 何をすればいいか を技術ごとにまとめます。情報は2026年10月22日時点で、根拠はすべて各プロジェクトの公式の発表です。
まず結論:急ぎの順番
| 技術 | 公式の発表 | 重さ | 修正版 | 急ぎ度 |
|---|---|---|---|---|
| PHP | 10月21日 | Critical 2件 | 8.2.35/8.3.36/8.4.27/8.5.12 | 最優先(攻撃あり) |
| Next.js | 10月14日 | Critical 2件ほか | 15.5.28/16.4.1 | すぐ |
| React | 10月14日 | Critical | 19.0.9/19.1.10/19.2.9/19.3.1 | すぐ |
| Laravel | 10月19日 | Critical | 12.68.0/13.29.0 | すぐ |
| Node.js | 10月21日 | High 4件ほか | 22.23.4/24.22.1/26.12.1 | 早めに |
| sharp | 9月30日 | High | 0.35.5 | 早めに |
| Symfony | 10月15日 | High 3件 | 7.4.19/8.1.7 など | 早めに |
| WordPress | 10月6日 | 修正7件 | 7.1.3 | 早めに |
| Vite | 10月6日・21日 | Medium 以下 | — | 開発中だけ関係 |
| Astro | 10月12日 | Medium 以下 | — | 使い方による |
| three.js | — | 発表なし | — | — |
「Critical(緊急)」「High(重要)」は、各プロジェクトが付けた重さです。Critical は、ログインしなくても外から攻撃でき、被害が大きいものに付きます。
PHP(10月21日・Critical 2件)
何が起きたか
PHP 本体に、ログインなしでサーバーの上のプログラムを動かされる穴が2件見つかりました。WordPress・Laravel・自作のお問い合わせフォームなど、PHP で動くものはすべて対象 です。攻撃は、アプリの中身が動き出す前、PHP が送られてきたデータを読み込む段階で起きます。
PHP のセキュリティチームは、2つの穴について「更新が唯一の完全な対策」としています。
出典:RCE via OOM Corruption|PHP(GitHub)、RCE via stale global state|PHP(GitHub)
Cloudflare は、正式な公開の前に情報が漏れ、顧客を狙う攻撃の通信を観測した と発表しています。
出典:Cloudflare deploys protections against php2shell vulnerability|Cloudflare
放置すると
- 攻撃者が、ログインせずにサーバーの上で好きなプログラムを動かせます(PHP の発表では「認証なしのリモートコード実行」)。
- サーバーのメモリの中身が漏れることがあります(同じく「メモリの漏えい」)。
- その結果、ページの改ざん、保存しているお客様の情報の持ち出し、不正なファイルの設置につながります。
対策
- PHP を修正版(8.2.35/8.3.36/8.4.27/8.5.12)に上げる。8.1 以前には修正が出ない ので、8.2 以上に切り替えます。
- レンタルサーバーでは、PHP 本体はサーバー会社が入れ替えます。入れ替えのお知らせが出たら、サーバーパネルで使っている版が修正版になっているかを確かめます。WordPress なら「ツール → サイトヘルス → 情報 → サーバー」で見られます。
- 入れ替えまでの間、会員登録・決済・個人情報の入力があるサイトは、一時停止も選択肢です。WordPress のメンテナンスモードやセキュリティ用のプラグインでは防げません(PHP が先にデータを読むため)。止めるなら、.htaccess などで PHP より前に止めます。
出典:Critical PHP Security Release|WordPress.org、PHP 公式サイト
Next.js(10月14日・Critical 2件ほか)
何が起きたか
- 画像最適化の穴(Critical):Next.js の画像最適化の機能で SVG が使われると、ログインなしでプログラムを動かされます。glibc という種類の Linux で動かしている場合が対象です。元は、画像を処理する部品(sharp)の中の部品の穴です。
use cacheの穴(Critical):App Router と Cache Components を使い、use cacheの関数が型付き配列を返している場合に、ログインなしでプログラムを動かされます。Next.js は「似た関数がなくても、すぐに上げるべき」としています。- ほかに、Server Actions を使う所でサーバーを止められる穴(High・10月14日)、画像最適化から内部のサーバーにアクセスさせられる穴(High・9月30日)も出ています。
出典:Unauthenticated Remote Code Execution in Image Optimization API when SVG files are used|Next.js(GitHub)、Unauthenticated Remote Code Execution in use cache functions returning typed arrays|Next.js(GitHub)、Denial of Service in App Router using Server Actions|Next.js(GitHub)
放置すると
- サーバーの上で好きなプログラムを動かされ、データベースのパスワードや外部サービスの鍵(API キー)を抜かれるおそれがあります。
- Server Actions の穴では、サイトを止められます。
対策
- 15.5.28 か 16.4.1 以上に上げる。
package.jsonのnextの版を確かめます。 - 14 系以前には修正が出ません。画像最適化の穴は 10.0.0 以降が対象なので、14 系以前を使っている場合は、15 か 16 への版上げを計画します。
- 画像最適化の穴は、sharp を 0.35.5 以上にすれば避けられると Next.js は書いています。
React(10月14日・Critical)
何が起きたか
React Server Components を使うアプリで、細工したデータを送られるとプログラムを動かされる穴です。React は「型付き配列と、攻撃者が操れる値を一緒に返す、ごくまれな場合だけ」としています。
サーバーを使わない React(画面だけの React)は対象外 です。
出典:Unauthenticated Remote Code Execution in React Server Components|React(GitHub)
放置すると
条件に当てはまると、ログインなしでサーバーの上のプログラムを動かされます。
対策
react-server-dom-webpack・react-server-dom-turbopack・react-server-dom-parcel を、19.0.9/19.1.10/19.2.9/19.3.1 以上に上げます。Next.js を使っている場合は、Next.js 本体を修正版に上げます。
Laravel(10月19日・Critical)
何が起きたか
Laravel の トークン方式の API の認証(TokenGuard) で、細工した値を送ると、ほかのユーザーとしてログインできてしまう穴です。データベースが MySQL か MariaDB の場合が対象です。
出典:Token-based API guard Auth Bypass|Laravel(GitHub)
放置すると
API を使う会員やお客様のアカウントを、パスワードなしで乗っ取られます。そのアカウントで見られる情報はすべて見られ、操作もされます。
対策
- 12 系は 12.68.0、13 系は 13.29.0 以上に上げます(
composer update laravel/framework)。 - 自分のアプリが対象かは、
config/auth.phpに'driver' => 'token'があるかで見分けられます。ただ、Laravel は回避策を示していないので、使っていなくても上げておくのが安全です。
Node.js(10月21日・High 4件ほか)
何が起きたか
全部で10件の修正です。重いものは4件で、いちばん重いのは Brotli(圧縮の形式)のデータをほどく処理で、プログラムを動かされうる穴 です。ほかに、HTTPS の証明書の確認をすり抜けられる穴が2件、DNS の名前の扱いの穴が1件あります。
修正版は 22.23.4/24.22.1/26.12.1 で、20 系以前には修正が出ません。Node.js 20 は2026年4月30日にサポートが終わっています。
出典:Wednesday, October 21, 2026 Security Releases|Node.js、Node.js Release Schedule|Node.js(GitHub)
放置すると
- 主に、Node.js から外部のサーバーにデータを取りに行ったとき、相手が悪意のあるサーバーだと狙われます。
- サポートが終わった版のままだと、この先見つかる穴も直りません。
対策
- サーバーで Node.js が動き続けているシステム(Next.js・API・定期実行の処理など)は、修正版に上げます。サーバーで
node -vを実行すると版が出ます。 - Docker で動かしている場合は、
DockerfileのFROM node:20などをnode:22かnode:24に変えて、作り直します。 - 画面の組み立て(ビルド)にだけ使っている場合(Vite など)は、本番のサーバーで Node.js が動いていないので、急がなくて大丈夫です。
sharp(9月30日・High)
画像を処理する部品 sharp の中で使われている、SVG を読む部品(librsvg)の穴です。上の Next.js の画像最適化の穴の元になっています。
- 放置すると:細工した SVG を処理させられると、プログラムを動かされるおそれがあります。
- 対策:0.35.5 以上に上げます。自分のコードで直接 sharp を使っている場合は、
package.jsonの sharp の版も確かめます(Next.js を上げても、自分で入れた sharp は古いまま残ることがあります)。
出典:Vulnerability in librsvg dependency|sharp(GitHub)
Symfony(10月15日・High 3件)
Laravel が内部で使っている部品です。Cache-Control ヘッダーの細工で処理を重くされる穴(http-foundation)などが出ています。
- 放置すると:サーバーの処理を止められ、サイトが表示されなくなるおそれがあります。
- 対策:Laravel を更新すると、一緒に上がるのがふつうです。
composer show symfony/http-foundationで、7.4.19 または 8.1.7 以上かを確かめます。
出典:Security Advisories|Symfony(GitHub)
WordPress(10月6日・修正7件)
WordPress 7.1.3 で、セキュリティの修正が7件入りました。
- 放置すると:修正された穴を突かれる可能性が残ります。
- 対策:7.1.3 に上げます。中身は別の記事にまとめています。
関連記事:WordPress 7.1.3登場、脆弱性7件をすぐ直す更新
Vite・Astro・three.js
- Vite(Medium 以下):開発用のサーバーで、見せないはずのファイルが見えてしまう穴です。開発用のサーバーを外から見える状態で動かしていなければ、本番のサイトには関係しません。出典:Security Advisories|Vite(GitHub)
- Astro(Medium 以下):画像を返す口(
/_image)を使った不正な取得や、XSS の穴です。Astro を使っている場合は、修正の入った版に上げます。出典:Security Advisories|Astro(GitHub) - three.js:2026年9月以降、公式のセキュリティ情報の公開はありません。出典:Security Advisories|three.js(GitHub)
自分のサイトがどれに当たるかの見分け方
| こういうサイト・システム | 見るもの |
|---|---|
| WordPress・PHP のサイト | PHP の版(レンタルサーバーのパネル)と WordPress の版 |
| Laravel のシステム | PHP の版と Laravel の版(composer.lock) |
| Next.js のシステム | Next.js の版(package.json)と、サーバーの Node.js の版 |
| AI に作ってもらったシステム | 多くは Next.js などの Node.js 製。作った当時の版のまま になっていないか |
| HTML だけのサイト | 今回はほぼ関係なし |
外注した・AI に作ってもらったなどで中身がわからない場合は、作った人や保守の会社に「PHP・Node.js・Next.js の版は何ですか」と聞いてみてください。
カツプロ調べ:実際に対応してわかったこと
10月21日の夜から22日の朝にかけて、私たちが管理しているサーバーで対応しました。そこでわかったことです。
- レンタルサーバーの PHP は、入れ替えから実際に新しい版で動き出すまで、時間差があった。 サーバーの PHP の本体が修正版に替わったのが 2:15、サイトが修正版で動き出したのが 2:36 でした。「入れ替えのお知らせ」だけで安心せず、サイトが実際に動いている版を確かめるのが大事です。
- サポートが終わった Node.js 20 のまま動いているシステムが残っていた。 作った当時の版のまま、気づかずに残っていました。版の確認を定期の点検に入れることにしました。
- 版を上げた直後の作り直しの順番で、一時的にエラーが出た。 Node.js を入れ替えた直後にアプリが自動で再起動し、作り直し中のファイルを読んでエラーになりました。作り直し(ビルド)が終わってから再起動すると直りました。
2分の動画でも見られます
技術ごとの「放置すると」と「対策」を、急ぐ順に2分ほどのショート動画にまとめました。
まとめ
- 10月は、PHP・Next.js・React・Laravel に Critical(緊急)の穴が続けて出ました。PHP は修正版の公開前から攻撃が観測されています。
- 対策の基本は 修正版に上げること です。どの技術も、古い系統(PHP 8.1 以前・Node.js 20 以前・Next.js 14 以前)には修正が出ていません。
- WordPress のプラグインやメンテナンスモードでは防げない穴もあります。動いている版を実際に確かめる ところまでやって、対応完了です。
関連記事:大手でも不正アクセスを防げないのはなぜ?制作者が先に固める守りの順番/「情報が漏れたかも」と言われたら?今日からできる身の守り方5つ/Movable Typeに複数の脆弱性、サポート終了版は注意
この記事の著者・監修
カツ
カツプロ運営者のカツです! AI・Web関連から、日常のことなど、私目線の回答も交えながらお伝えします!
この記事をシェア
カツプロ(ホーム)
カツプロ AI SEO
MoteRaku
デザインギャラリー
画像ツール
カツプロPR