Next.jsに未認証RCEなど重大な脆弱性、Vercelが定例外パッチを公開
要点
-
Next.js開発元のVercelは、認証不要のリモートコード実行(RCE)2件を含む計3件の脆弱性を修正する定例外パッチを公開した。
-
リモートコード実行の脆弱性はキャッシュ機能とSVG画像処理に存在し、深刻度はともにCVSSスコア9.5と評価されている。
-
App RouterのServer Actionsを標的としたサービス妨害(DoS)の脆弱性もあわせて修正された。
-
修正版としてNext.js 16.4.1および15.5.28が提供されており、Vercelは速やかな更新を呼びかけている。
-
Webフレームワーク「Next.js」を開発するVercelは2026年10月14日、重大なセキュリティ脆弱性に対処する定例外のアップデートを公開した。認証なしで遠隔からコードを実行できる2件の深刻な欠陥と、サービス妨害を引き起こす1件の欠陥が修正されている。同社は現行のサポート対象バージョンに向けてパッチをリリースし、利用者に対して迅速な更新と再デプロイを求めている。
修正対象となった3件の欠陥
今回のアップデートでは、リモートコード実行(RCE: 外部から任意のコードを実行される欠陥)を許す2件と、サービス妨害(DoS: 意図的な過負荷によってサービスを停止させる攻撃)につながる1件の計3件に対処した。Vercelは2件のRCEについて、深刻度評価指標のCVSSスコアで最高水準に近い「9.5(Critical)」と判定している。
修正パッチは、アクティブ長期サポート(LTS)版であるNext.js 16.4.1、およびメンテナンスLTS版の15.5.28として公開された。影響を受けるバージョンは欠陥ごとに異なるが、Next.js 10系から16系までの広範な環境が対象となっている。
キャッシュ機能とReact Server Components起因のコード実行
1件目のRCE(GHSA-673q-mjm6-r5xr)は、サーバー側でUIを描画する「React Server Components」の不具合に起因する。React側の関連パッケージ(react-server-dom-webpackなどのバージョン19.0.0〜19.3.0)において、レスポンスが複数の型付き配列と攻撃者の制御可能な値を転送する極めて稀なケースで生じると説明されている。
Next.js環境では、16系で導入された「Cache Components」を有効にし、use cache 関数が複数の型付き配列を返す場合に影響を受ける。対象バージョンは16.0.0〜16.4.0で、16.4.1で修正された。Vercelは該当する関数を使っていない環境も含めて更新を推奨している。
SVG画像処理ライブラリ「librsvg」に潜むコード実行
2件目のRCE(CVE-2026-96889、GHSA-2464-fhr4-w9xw)は、画像処理パッケージ「sharp」経由で使われるオープンソースライブラリ「librsvg」のメモリ不具合である。glibcベースのLinux環境において、攻撃者由来のSVGファイルがsharpに渡された場合にコード実行が可能になるという。
影響範囲はNext.js 10.0.0〜15.5.27および16.0.0〜16.4.0に及ぶ。Next.jsは既定でSVGを最適化しないため、画像オプティマイザで配信するには「dangerouslyAllowSVG」設定を明示的に有効にしている必要がある。また、SNSプレビュー画像を生成する「next/og」をNode.jsランタイムで動かす場合も該当する。なお、ホスティングサービスのNetlifyは該当コードを実行しておらず影響は限定的としながらも更新を推奨している。Next.jsの画像処理で問題が生じたのは8月以降で3度目だという。
Server Actionsを標的としたサービス妨害の脆弱性
3件目は、高深刻度のDoS脆弱性(GHSA-p3m5-59mp-jv5r)である。サーバー側の処理を呼び出す「Server Actions」を定義したApp Router環境が対象となる。細工されたリクエストにより単一プロセスのCPU使用率が100%に達し、他の処理が阻害される。
影響バージョンはNext.js 13.0.0〜15.5.27および16.0.0〜16.4.0で、15.5.28と16.4.1で修正された。従来のPages Router利用時やServer Actions未使用の環境は影響を受けない。
更新手順と依存関係「sharp」の注意点
Vercelは、Next.js 16系は16.4.1へ、15系は15.5.28へ更新し、再ビルドと再デプロイを行うよう案内している。
ただし、画像処理ライブラリ「sharp」の更新挙動には注意が必要だ。16.4.1は修正済みの「sharp 0.35.5」以降を要求するため自動更新されるが、15.5.28は脆弱性のあるsharp 0.34系も許容するため、上書き更新では古いバージョンが残るおそれがある。「npm ls sharp」で確認し、必要なら手動で0.35.5以降へ更新する必要がある。
直ちに更新できない場合、画像の脆弱性にはsharpの更新や「sharp.block」によるSVG描画遮断という暫定策があるが、キャッシュやServer Actionsの欠陥には回避策がなく本体の更新が必須となる。なお、後者2件は2026年10月15日時点でCVE未採番かつnpmの監査フィードにも未登録のため、依存関係スキャナーで検知されない点にも留意したい。