30秒で判断
- 対応すべき人: Next.jsの
use cache機能、SVGを扱うImage Optimization API、App RouterのServer Actionsのいずれかひとつでも本番環境で使用している場合 - 対応不要な人: Next.jsを使用していない、または既にv16.4.1以降を使用している。上記3機能をいずれも使用していない静的エクスポート構成のみの場合
- 確認コマンド:
npx next --version
この変更が意味すること
Next.js v16.4.1は2026年10月14日にリリースされたセキュリティパッチです。バージョン番号上は「minor」扱いですが、内容は3件のセキュリティアドバイザリへの対応で、その中にUnauthenticated RCE(未認証の遠隔コード実行)のCritical脆弱性が2件含まれています。
未認証で成立するRCEはCVSSスコアが最高クラスになりやすく、攻撃者が認証情報を持たずに任意のコードを実行できる可能性があるという点で、通常の機能追加リリースとは重要度がまったく異なります。use cache やSVGを扱うImage Optimization APIを本番で有効にしているプロジェクトは、他の更新作業より先にこのパッチの適用を検討してください。
あわせて、Server Actionsを使ったApp RouterにおけるDoS脆弱性(High)も修正されています。
主な変更点
Critical: use cache 関数の未認証RCE
use cache 機能でtyped arrayを返す関数が存在する場合に、未認証のリモートコード実行が可能になる脆弱性です(GHSA-673q-mjm6-r5xr)。
Critical: Image Optimization APIの未認証RCE(SVG利用時)
SVGファイルを扱う構成でImage Optimization APIを利用している場合に、未認証のリモートコード実行が可能になる脆弱性です(GHSA-2464-fhr4-w9xw)。
High: App Router + Server ActionsでのDoS
Server Actionsを使用するApp Routerの構成において、サービス拒否(DoS)を引き起こせる脆弱性です(GHSA-p3m5-59mp-jv5r)。
EOL / サポート状況
export const eolData = [
{"range": "16", "status": "active", "eolDate": null},
{"range": "15", "status": "approaching", "eolDate": "2026-10-21"},
{"range": "14", "status": "eol", "eolDate": "2025-10-26"},
{"range": "13", "status": "eol", "eolDate": "2024-12-21"},
{"range": "12", "status": "eol", "eolDate": "2022-11-21"}
];
| バージョン系統 | ステータス | EOL日 |
|---|---|---|
| 16 | サポート中(LTS) | - |
| 15 | まもなくEOL | 2026-10-21 |
| 14 | EOL済み | 2025-10-26 |
| 13 | EOL済み | 2024-12-21 |
| 12 | EOL済み | 2022-11-21 |
Next.js 15系は本パッチの4日後、2026年10月21日にEOLを迎えます。v15を本番運用しているチームは、セキュリティパッチの適用可否にかかわらずv16への移行を急ぐ必要があります。
開発者への影響
use cacheを利用している場合、未認証RCEの直接的な対象となるため最優先でアップデートしてください- SVGを扱うImage Optimization APIを有効にしている場合も同様にCritical判定の対象です
- App RouterでServer Actionsを使用している場合、DoS脆弱性(High)の影響を受ける可能性があります
- 上記3機能をいずれも使用していない構成では緊急度は下がりますが、Next.js 15のEOLが目前であるため通常のアップグレード検討は進めてください
アップデート方法
npm install next@16.4.1
# または
pnpm add next@16.4.1
yarn add next@16.4.1
データソース: GitHub Releases API, endoflife.date AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
export const impactScoreData = {
"total": 58,
"level": "high",
"label": "影響度: 高(Critical脆弱性のため最優先対応)",
"factors": [
{"name": "Breaking Changes", "score": 5, "maxScore": 40},
{"name": "新機能", "score": 0, "maxScore": 25},
{"name": "バグ修正", "score": 13, "maxScore": 20},
{"name": "セキュリティ", "score": 15, "maxScore": 15},
{"name": "依存関係", "score": 5, "maxScore": 15}
]
};
export const breakingChangesData = {
"count": 0,
"items": []
};
export const updateAdviceData = {
"rating": 5,
"maxRating": 5,
"label": "直ちにアップデートを推奨",
"shouldUpdate": ["Image Optimization APIでSVGを扱っている", "`use cache`機能を利用している", "App RouterでServer Actionsを使用している", "本番環境でNext.jsを運用している"],
"canWait": ["ローカル開発のみで本番公開していない", "use cache・SVG画像最適化・Server Actionsのいずれも使用していない静的エクスポート構成"]
};
export const versionNavData = {
"previousVersion": null,
"nextVersion": null
};
export const actionGuideData = {
"evaluation": {
"priority": "high",
"actionRequired": "required"
},
"action": {
"steps": [
"本番環境のNext.jsバージョンを確認する",
"v16.4.1へ直ちにアップデートする",
"Image Optimization API・use cache・Server Actionsの動作を再検証する"
],
"skipIf": [
"Next.jsを使用していない",
"既にv16.4.1以降を使用している",
"use cache・SVG画像最適化・Server Actionsのいずれも使用していない静的エクスポート構成"
],
"notes": ["Critical判定の未認証RCEが2件含まれるため、パッチ適用は最優先で検討してください", "詳細はGitHub Security Advisoryを参照してください"]
},
"impact": {
"targets": ["Next.js利用者", "App Router + Server Actions利用者", "Image Optimization API利用者"],
"scope": "wide"
},
"changeCategory": "セキュリティ修正"
};
