Vercelは、Next.jsに対するセキュリティ更新プログラムを定例外で公開しました。リモートコード実行(RCE)の深刻な脆弱性2件と、重要度「高」のサービス拒否(DoS)の脆弱性1件を修正しています。
CyberSecurity Tools
深刻な脆弱性のうち1件は「CVE-2026-96889」(GHSA-2464-fhr4-w9xw)で、Image Optimization APIに存在し、SVGの処理をきっかけに悪用されます。
Next.jsのSVG脆弱性
Vercelが公開したセキュリティ情報によると、この更新は先週発表されました。上流の依存ライブラリの対応が遅れたため、2026年9月のセキュリティリリースから見送られていた2件の修正が含まれています。
修正版は、Next.js v16.4.1(Active LTS)とv15.5.28(Maintenance LTS)で提供されています。Vercelはすべてのユーザーに更新を呼びかけています。
この脆弱性は、Next.jsが画像最適化に利用している上流ライブラリのメモリ関連の問題です。glibcベースのLinux上でNext.jsを実行している場合、認証不要のリモートコード実行につながるおそれがあります。Vercelは重要度を「深刻(critical)」と評価しています。
この脆弱性は認証が不要で、しかも多くの本番サイトが公開している機能に存在します。そのため、攻撃者は認証情報なしで標的にできる可能性があります。
AlpineなどmuslベースのLinux環境については、アドバイザリーの本文では影響対象として挙げられていません。ただし、安全だと決めつけず、ベースイメージを確認する必要があります。
回避策として、Next.jsが使用するsharpのバージョンを0.35.5以降にしてください。Next.jsを修正版に更新すれば、パッケージマネージャーが修正済みのsharpを自動的に取得します。
もう1件の深刻な脆弱性は、App RouterとCache Componentsを併用するアプリケーションに影響します。use cache関数が複数の型付き配列を返す場合、認証不要のRCEにつながるおそれがあります。関連する上流のアドバイザリーがReactにも存在します(GHSA-xqc2-xf4c-x3h3)。
Vercelによると、既知の回避策はありません。該当するような関数がアプリケーションになくても、直ちに更新するよう勧めています。
重要度「高」の脆弱性では、細工したリクエストによってCPUを過剰に消費させることができます。対象は、Server Actionを1つ以上持つApp Routerアプリケーションです。CPU負荷が同一プロセス内の他のリクエストをブロックし、サービス拒否に陥ります。
関連するReactのアドバイザリーはGHSA-h3gv-c5rc-p453です。Pages Routerを使用するアプリケーションや、Server Actionを持たないアプリケーションは影響を受けません。
更新は、利用中のリリースラインに応じて実行します。15.5系ではnpm install [email protected]、16.4系ではnpm install [email protected]を実行してください。
セキュリティチームは、次の対応も取るべきです。ロックファイルでsharpが0.35.5以降であることを確認する。Cache ComponentsやServer Actionを使うアプリケーションを洗い出す。画像最適化エンドポイントとログで、不審なSVGリクエストがないか調べる。修正済みの依存関係が実際に配布されるよう、コンテナーを再ビルドして再デプロイする。
Next.jsは本番環境で広く使われています。デフォルト機能に認証不要のRCEの脆弱性があると、技術的な詳細が出回った時点で、短期間に悪用されるリスクが高まります。Vercelのアドバイザリーは、実際に悪用されているとは述べていません。
それでも、組織はパッチ適用を緊急の課題として扱うべきです。研究者は、HackerOneのVercel Open Source Bug Bountyを通じて問題を報告できます。質問は[email protected]に送ることができます。
翻訳元: https://gbhackers.com/nextjs-svg-image-processing-vulnerability/