30秒で判断
- 対応すべき人:
use cacheやunstable_cacheを使っている/Next.jsをセルフホストしている/フェッチしたレスポンスをそのまま転送する処理がある - 対応不要な人:
use cache・unstable_cache・Cache Componentsのいずれも使っていない/Vercelなどのマネージド環境でキャッシュ層を自前管理していない/v16.4.5より前のバージョンを使っていない - 確認コマンド:
npx next --versionまたはnpm list next
この変更が意味すること
v16.4.5はバージョン番号上はパッチリリースですが、use cache / Cache Components機能に関する複数のモデレート(中程度)severityの脆弱性修正を含む、セキュリティ観点で重要な更新です。破壊的変更の明記はないため、通常のアップデート作業と同様に扱えますが、キャッシュ関連の挙動に関わる修正のため、該当機能を使っている場合は優先度を上げて確認することを推奨します。
特に、テナント間・ユーザー間でのキャッシュ内容の漏洩や汚染に関する修正が複数含まれている点が特徴です。マルチテナント構成やセルフホスト構成でNext.jsを運用している場合は影響範囲を確認してください。
主な変更点
unstable_cache経由のuse cacheでのテナント間情報漏洩
unstable_cache を通じて呼び出された use cache で、テナント間に機密情報が漏洩する可能性がある問題を修正しました(GHSA-mfr8-8qww-v76h)。
ネストしたuse cache関数間のキャッシュリーク(follow-up)
root paramの値をまたいだキャッシュリークに関する、以前の修正の追加対応です(GHSA-vc7v-qv4w-wrv8)。
Cache Componentsのフォールバックシェル共有によるキャッシュポイズニング
リクエストから渡されたプレースホルダーのルートパラメータを通じて、共有フォールバックシェルがキャッシュポイズニングされる問題を修正(GHSA-vvgp-ww4w-46vf)。
バイナリ引数を使ったuse cacheでのクロスユーザー漏洩・汚染
バイナリ引数を使う use cache で、ユーザー間のキャッシュ内容の漏洩・汚染が発生する可能性を修正(GHSA-rhh4-g77r-r9qj)。
セルフホスト環境でのクロスクライアントなレスポンス注入・漏洩
fetchしたレスポンスをそのまま転送するセルフホストのNext.jsアプリケーションで、クライアント間のレスポンス注入・漏洩が発生する可能性を修正(GHSA-pc58-hwjq-p385)。
その他
リリースノート原文にはSVG関連の追加修正の記載がありますが、取得できた本文が途中で切れているため詳細はここでは触れません。正確な内容は公式リリースページでご確認ください。
EOL / サポート状況
Next.jsはendoflife.dateでLTSサイクルが管理されています。
v16系は現行のLTSで、v15系も2027-01-31までサポートが継続します。v14以前は既にEOLのため、該当バージョンを使っている場合はv16への移行を検討してください。
開発者への影響
use cache/unstable_cache/ Cache Componentsを使っている場合、情報漏洩・キャッシュポイズニングのリスクがあるため優先的な更新を推奨します。- セルフホストでfetchレスポンスを転送する処理がある場合、クロスクライアントな漏洩リスクに該当する可能性があります。
- 破壊的変更は明記されていないため、通常のマイナー/パッチ更新と同じ手順で適用可能です。
- Vercelなどマネージド環境を使っていてキャッシュ層を自前管理していない場合、影響は限定的です。
アップデート方法
npm install next@16.4.5
# または
pnpm add next@16.4.5
更新後、use cache 関連の機能を使っている箇所を中心に動作確認を行ってください。
データソース: GitHub Releases API, endoflife.date AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
