Next.jsに認証不要でリモートコード実行が可能な2件の深刻な脆弱性、Vercelが修正パッチを公開
要点
-
Webフレームワーク「Next.js」において、認証なしでリモートコード実行が可能な2件の重大な脆弱性が修正された。
-
1件はWindows環境のパストラバーサル、もう1件はAVIF画像最適化における依存ライブラリのバッファオーバーフローに起因する。
-
修正版として「Next.js 15.5.24」および「Next.js 16.3.3」が公開されており、Vercel上のホスティング環境はすでに対策が完了している。
-
AVIF関連の脆弱性に対しては、上流ライブラリの修正版が出るまでNext.js側でAVIF最適化機能を全面的に無効化する措置が取られた。
-
定期セキュリティ体制に基づくリリースだったが、上流依存関係の脆弱性発覚を受けて予定より1日前倒しでパッチが公開された。
-
米Vercelは2026年8月25日、同社が主導するオープンソースのWebフレームワーク「Next.js」において、2件の深刻なセキュリティ脆弱性を修正したと発表した。いずれの脆弱性も、悪用された場合に認証を受けていない攻撃者が遠隔から任意のプログラムを実行できるリモートコード実行(RCE)につながるおそれがあるという。
-
今回の修正は、メンテナンスLTS版である「Next.js 15.5.24」およびアクティブLTS版である「Next.js 16.3.3」として提供されている。Next.js 10.0.0から15.5.23、ならびに16.0から16.3.2までの広範なバージョンが影響を受けるため、同社は対象となる環境に対して速やかなアップデートを呼びかけている。
Windows環境に影響するパストラバーサルの欠陥(CVE-2026-75604)
判明した脆弱性のうち1件は、Windowsファイルシステム上で動作するNext.jsサーバーに影響を与えるパストラバーサル(ファイルパスの検証不備を突いて想定外のファイルにアクセスする攻撃手法)の不具合だ。「CVE-2026-75604」として管理されており、深刻度を示すCVSSスコアは9.0と評価されている。
この脆弱性は、Windows環境において「Pages Router」を採用しているか、あるいはCache Componentsを使用していない「App Router」を利用しているNext.jsアプリケーションで発生する。一方で、LinuxやmacOSなどのプラットフォーム上でホストされている環境はこの問題の影響を受けない。
Vercelのセキュリティアドバイザリによると、Windowsで運用されている環境向けにコード変更などを伴わない回避策(ワークアラウンド)は存在せず、直ちに修正版へのアップグレードを実施する必要があるとしている。この脆弱性はセキュリティ研究者のevolutionstorm氏およびB0RI氏によって報告されたが、具体的な攻撃手法の詳細は公表されていない。なお、Vercelのクラウドプラットフォーム上でホストされているアプリケーションは保護されており、ユーザー側での追加対応は不要だという。
AVIF画像処理ライブラリ「libheif」のヒープオーバーフロー(GHSA-2xp9-vwfh-vxw4)
もう1件の脆弱性は、Next.jsの画像最適化機能に関連するものだ(アドバイザリ識別子:GHSA-2xp9-vwfh-vxw4、CVSS v4スコア:9.5)。Next.jsは画像処理に「sharp」パッケージを採用しており、sharpはAVIF画像形式の解析にC言語ライブラリ「libheif」を利用している。
問題の根本原因は、このlibheifの画像スケーリング処理内に存在するヒープバッファオーバーフロー(動的に確保されたメモリ領域を超えてデータが書き込まれる不具合)にある。libheif側の管理番号は「GHSA-g89c-p67h-r497」で、バージョン1.23.1までの全リリースが影響を受ける。
細工されたAVIFファイルをNext.jsが処理する際、ファイル内にネストされた識別子導出や補助アイテム参照が含まれていると、libheifはビット深度の異なる2つのアルファプレーンを持つ画像を生成してしまう。このとき、スケーラーは最初の8ビット用アルファエントリに合わせてメモリ領域を確保するが、後続の16ビットのサンプル値を同じ領域に書き込んでしまい、確保領域の境界を越えて約16,384バイトのデータが不正に上書きされる仕組みだという。
この脆弱性は、設定ファイル(next.config.js)の formats 設定に image/avif を明示的に追加している環境のみで有効となるため、同設定を行っていないデプロイ環境では影響を受けない。
Vercelは今回の修正版Next.jsにおいて、libheif側の修正版(v1.23.2)が提供されて反映されるまでの暫定措置として、AVIF最適化機能を完全に無効化する対応をとった。報道時点(2026年8月27日)でlibheif v1.23.2は未公開の状態となっている。なお、この問題を発見・報告した研究者チーム(Hacktronチーム、報告者:rootxharsh氏、コーディネーター:KarimPwnz氏)は検証用のコード(PoC:脆弱性の実証コード)を公開し、複数のアプリケーションでRCEが可能であったと述べているが、第三者による独立した検証は行われていない。
月次セキュリティ体制と予定の前倒し
今回の修正パッチは、Vercelが2026年7月に立ち上げた月次セキュリティプログラムに基づく2回目の定期リリースにあたる。同社は当初、8月のリリース日を8月26日に設定していたが、上流の依存関係において深刻な脆弱性が新たに確認されたことを受けて、公開日を急遽1日前倒しして8月25日にリリースした。
Vercelのセキュリティ担当者はブログ記事の中で、前倒しの経緯について「上流の依存関係において追加の重大な脆弱性が確認されたため、リリースを前倒しした」と説明している。同社は7月のプログラム開始時、LLM(大規模言語モデル)を活用した脆弱性探索ツールの普及により業界全体で脆弱性報告の件数が急増していることを指摘しており、予測可能な定期リリース体制によってセキュリティリスクへ迅速に対処する姿勢を示していた。
影響を受けるバージョンのNext.jsを利用している開発者は、15.5系統では npm install next@15.5.24、16.3系統では npm install next@16.3.3 を実行することで対策が可能となっている。