Next.jsの脆弱性3件(2026年10月)|対象バージョンと確認方法、16.4.1・15.5.28への更新

公開 2026-11-02公表 2026-10-15資料確認 2026-11-02JavaScript / TypeScriptの脆弱性 126件のまとめ
対象製品Next.js
識別番号GHSA-673q-mjm6-r5xr
影響範囲16.0.0〜16.4.0・10.0.0〜15.5.27(件ごとに範囲と使い方の条件あり)
修正情報16.4.1・15.5.28(15系はsharp 0.35.5以上も確認。14系以前は記載なし)

ReactのフレームワークNext.jsで、認証なしにサーバー上でコードを実行されるおそれがある脆弱性2件と、サービス停止のおそれがある1件が、日本時間の2026年10月15日(米国時間14日)に公表され、同時に16.4.1と15.5.28で直りました。16系は16.4.1以上、15系は15.5.28に上げ、15系では画像処理ライブラリsharpが0.35.5以上かもあわせて確かめます。[1][2][3][4]

この記事の要点
  • コード実行のおそれがあるのは、16系でuse cache関数が複数の型付き配列を返す場合(GHSA-673q-mjm6-r5xr)と、glibcのLinuxで画像最適化がSVGを処理する場合(CVE-2026-96889、原因はsharpが組み込むlibrsvg)です。[2][3][9]
  • 修正版は16系が16.4.1、15系が15.5.28で、14系以前はアドバイザリに修正版の記載がありません。15.5.28はsharpの0.34系も依存の範囲に含むので、npm ls sharpで0.35.5以上かを確かめます。[3][14]
  • 米CISAのKEVには載っていません(10月30日版)。ホスティングによって影響が変わり、Vercel上の扱いは公式に記載がありません。[1][12][16]

01Next.jsの脆弱性3件で起きることと深刻度

公表されたのは次の3件です。深刻度はVercelの評価(CVSS 4.0)です。[1][2][3][4][6][7]

番号起きること深刻度
GHSA-673q-mjm6-r5xr(CVEは未付与)use cache関数が複数の型付き配列を返すアプリで、認証なしにコード実行のおそれ緊急(Critical、9.5)
CVE-2026-96889(GHSA-2464-fhr4-w9xw)画像最適化が使う上流のライブラリの不具合で、glibcのLinuxではコード実行のおそれ緊急(Critical、9.5)
GHSA-p3m5-59mp-jv5r(GitHubの登録ではCVE-2026-94482)Server Actionsへの細工したリクエストでCPUを使い切り、後続のリクエストが止まる高(High、8.2)

CVE-2026-96889は、SVGを描画するライブラリlibrsvgの脆弱性の番号です。採番したRed Hatの評価はCVSS 3.1の7.8(ローカルからの攻撃が前提)です。Next.jsの画像最適化が使うsharpがlibrsvgを組み込んでいるため、Next.jsでもネットワーク経由で届く脆弱性として扱われています。sharpは0.35.5でlibrsvgを2.63.2に上げて直しました。[3][8][9]

認証なしのリクエストが、use cache・画像最適化・Server Actionsの3か所に届く

攻撃の入口認証なしのリクエスト細工したリクエストや、SVGを処理させる要求
Next.jsのサーバーへ

Next.jsのサーバー

use cache関数16系のCache Components。複数の型付き配列を返す場合
画像最適化 → sharp → librsvgglibcのLinuxで、SVGを処理する場合
Server ActionsApp Routerで1つ以上使う場合
起きること
コード実行のおそれGHSA-673q-mjm6-r5xr、CVE-2026-96889
CPUの使い切りGHSA-p3m5-59mp-jv5r。同じプロセスの後続のリクエストが止まる

出典 Next.js「GHSA-673q-mjm6-r5xr」「GHSA-2464-fhr4-w9xw」「GHSA-p3m5-59mp-jv5r」(2026-10-15)、sharp「GHSA-wq5f-xc86-pv6w」(2026-10-01)

02Next.jsのアプリが対象になる条件(ルーター・機能・ホスティング)

3件で前提が違います。[2][3][4]

番号前提対象外とされる構成
GHSA-673q-mjm6-r5xr16系で、App RouterのCache Components(cacheComponents: true)を使い、use cache関数が複数の型付き配列を返す記載なし(似た関数が無くても上げるよう求めている)
CVE-2026-96889Next.jsをglibcのLinuxで動かし、画像最適化でSVGを処理する記載なし
GHSA-p3m5-59mp-jv5rApp Routerで、Server Actionを1つ以上使うPages Routerのアプリ、Server Actionsを使わないアプリ

Cache Componentsは16.0.0で正式な設定になり、use cacheはこの設定を有効にしたときに使えます。[19]

ホスティングごとの違い

自前のサーバーやコンテナでnext startする場合は、上の前提がそのまま当てはまります。Netlifyは、画像最適化はNetlify Image CDNが受け持つためこの経路を通らず、next/ogのImageResponseに信頼できない入力を渡すアプリでも起きるのは関数の実行が落ちる程度だとしています。use cacheの件は前提に当てはまれば影響を受けます。[12]

Vercelでホスティングしている場合の扱いは、Next.jsのブログとアドバイザリに記載がありません(11月2日確認)。[1][2][3][4]

03Next.jsのこの脆弱性の悪用の状況

米CISAの「悪用が確認された脆弱性の一覧(KEV)」には、11月2日の確認時点(10月30日版)で載っていません。今後30日に悪用される見込みの推定(EPSS)は、CVE-2026-96889が0.56%です(11月1日時点)。シンガポールのCSAは10月20日に注意喚起を出しました。[13][16][17]

CVE-2026-96889のCVEの記録にCISAが付けた評価(SSVC)では、悪用の状況は「PoCあり(poc)」です(9月25日時点)。librsvgとしての評価で、Next.jsを経由する手順の公開はアドバイザリに書かれていません。ほかの2件もPoCの公開は確認できていません。[2][4][8]

librsvgの修正から3週間後に、Next.jsが3件を公表して直した

2026年9月24日

librsvgの脆弱性にCVE-2026-96889採番したRed Hatの評価はCVSS 3.1の7.8

9月27日

sharp 0.35.5を公開librsvg 2.63.2を組み込む

10月15日

Next.jsが3件を公表し、16.4.1・15.5.28を公開同じ日にReactも関連する2件を公表
9.5CVSS 4.0(Vercel)

10月20日

シンガポールCSAが注意喚起コード実行の2件

10月23日

GitHub Advisory Databaseに収録Server Actionsの件にCVE-2026-94482

11月2日

KEVには載っていない10月30日版の一覧で確認
0.56%EPSS(CVE-2026-96889、11月1日)

11月3日(米国時間)

次の定期のセキュリティリリース中程度の7件を予告

出典 NVD「CVE-2026-96889」(2026-11-02確認)、npm「sharp」「next」(2026-11-02確認)、Next.js「Next.js Security Update for Upstream Vulnerabilities」(2026-10-14)、シンガポールCSA「AL-2026-148」(2026-10-20)、米CISA「Known Exploited Vulnerabilities Catalog」(2026-10-30版)、Next.js「Upcoming Next.js November Security Release」(2026-10-27)

04Next.jsの系列ごとの対象と推奨する版

推奨する版は、Next.jsのアドバイザリと、npmに公開済みの版から出しました(11月2日確認)。上げる前にリリースノートで変更点を確かめてください。[2][3][4][14][22][23]

系列この件の対象推奨する版補足
16系16.0.0〜16.4.0(3件)16.4.1以上(16系の最新は16.4.3)16.4.2・16.4.3はセキュリティ以外の修正
15系15.5.27以前(2件)15.5.28sharpが0.35.5以上かも確かめる。15.4以前の系列の修正版は記載なし
14系以前CVE-2026-96889は10.0.0以上、GHSA-p3m5-59mp-jv5rは13.0.0以上アドバイザリに記載なしNext.jsの方針ではサポートの対象外

CVE-2026-96889の16系の範囲は、Vercelでは「16.0.0より後」、GitHub Advisory Databaseでは「16.0.0以上」ですが、16.0.0はほかの2件の対象です。[3][5]

15系のセキュリティの修正は2027年1月31日までです。米国時間11月3日には、中程度の7件の定期リリースが予告されています。[18][21][22][23]

16系は16.4.1以上、15系は15.5.28に上げ、15系はsharpの版も確かめる

16系
この件の対象3件(コード実行2件・サービス停止1件)
推奨する版16.4.1以上16系の最新は16.4.3
sharpの範囲^0.35.5(16.4.1)
サポートActive LTS
15系
この件の対象2件(use cacheの件は対象外)
推奨する版15.5.28
sharpの範囲^0.34.3 || ^0.35.5で、0.34系が残りうる
サポートMaintenance LTS(2027年1月31日まで)
14系以前
この件の対象2件(10.0.0以上・13.0.0以上)
推奨する版記載なしアドバイザリに修正版がない
sharpの範囲依存に含まれない(14.2.35)
サポート対象外
だから 15系は15.5.28に上げた後、npm ls sharpで0.35.5以上かを確かめる。

出典 Next.js「GHSA-673q-mjm6-r5xr」「GHSA-2464-fhr4-w9xw」「GHSA-p3m5-59mp-jv5r」(2026-10-15)、npm「next」(2026-11-02確認)、Next.js「Support Policy」(2026-11-02確認)

05Next.jsとsharpの版を確かめて上げる手順

  1. Next.jsとsharpの版を、間接の依存まで含めて確かめます。pnpmはpnpm why next sharpで確かめられます。

    ターミナル
    npm ls next sharp --all
  2. 動かしている環境を確かめます。next infoは版とOSを表示します。サーバーやコンテナの中のldd --versionで「GNU libc」と出ればglibcのLinuxです。

    ターミナル
    npx next info
    ldd --version
  3. アプリが使っている機能を確かめます。

    ターミナル
    grep -n -e "cacheComponents" -e "dangerouslyAllowSVG" next.config.*
    grep -rln -e "use cache" -e "use server" app src
  4. 系列に合わせて上げます。1行目が16系、2行目が15系です。

    ターミナル
    npm install next@^16.4.1
    npm install next@15.5.28
  5. 15系では、sharpが0.34系なら依存の範囲の中で0.35.5に上げます。

    ターミナル
    npm ls sharp --all
    npm update sharp
  6. ビルドし直してデプロイし、版を確かめます。sharpが組み込むlibrsvgが2.63.2なら修正済みです。

    ターミナル
    npm ls next sharp --all
    node -p "require('sharp').versions.rsvg"

OSに入れたlibrsvgを使う構成では、librsvgを2.63.2にします。[9]

脆弱性の公表・更新一覧 2026年10月版の表紙
資料(無料)脆弱性の公表・更新一覧 2026年10月版60日間の公表・更新と、悪用が確認された脆弱性を分析し、どこから直すかの考え方と確認の手順をまとめた資料です。

06すぐに上げられないとき

Next.jsのアドバイザリにある回避策は、CVE-2026-96889の「sharpを0.35.5以上にする」だけです。GHSA-673q-mjm6-r5xrには既知の回避策がなく、GHSA-p3m5-59mp-jv5rは更新のほかに回避策がありません。[2][3][4]

sharpのアドバイザリは、SVGを読み込ませない設定(sharp.block({ operation: ["VipsForeignLoadSvg"] }))と、PIEとしてビルドされたnodeの実行ファイル(公式の配布物はPIEではない)を使うことを挙げています。Next.jsのアドバイザリには載っていない、sharp側の回避策です。[9]

Netlifyは、公開されたままのデプロイプレビューとブランチデプロイを手で削除するよう求めています。[12]

0715.5.28に上げてもsharpが古いまま残る場合

Next.jsのブログは、修正版に上げればパッケージ管理ツールが修正済みのsharpを入れる、としています。[1]一方、npmに公開された15.5.28の情報では、任意の依存のsharpの範囲は^0.34.3 || ^0.35.5で、0.34系も含みます。sharpのアドバイザリでは、0.35.5より前はすべて対象です。[9][14]

ロックファイルにsharpの0.34系が記録されている環境では、15.5.28へ上げてもsharpが0.34系のまま残ることがあります(npmの範囲の解決から見た当社の整理)。0.35.4が入っていた環境は範囲から外れて入れ替わり、16.4.1の範囲は^0.35.5だけです。sharp 0.35.5は9月27日に公開済みです。[14][15]

sharpを直接の依存として入れている場合は、package.jsonの指定が0.35.5以上を許すかも確かめます。

08Reactの脆弱性との関係

同じ日にReactも、React Server Componentsのコード実行のおそれ(GHSA-xqc2-xf4c-x3h3、緊急、Critical、9.5)とサービス停止のおそれ(GHSA-h3gv-c5rc-p453、高、High、8.2)を公表しました。Next.jsのブログは、それぞれをuse cacheの件とServer Actionsの件の「関連する上流のアドバイザリ」としています。[1][10][11]

Reactの件の対象はreact-server-dom-webpack・react-server-dom-parcel・react-server-dom-turbopackで、修正版は19.0.9・19.1.10・19.2.9・19.3.1です。react本体は入っていません。Next.jsではnextを上げ、ほかのフレームワークでReact Server Componentsを動かす場合はこれらを上げます。[1][10][11]

AI攻撃対応型システム改修支援既存システムの制約と業務への影響を踏まえ、改修の計画から実装・結果の確認まで支援します。

よくある質問

Pages Routerだけのアプリも上げる必要がありますか?

Server Actionsの件は、Pages Routerのアプリは対象外です。use cacheの件はApp RouterのCache Componentsが前提です。画像最適化の件(CVE-2026-96889)はルーターの条件がアドバイザリに無いので、対象の版なら上げます。[2][3][4]

dangerouslyAllowSVGを有効にしていなければ対象外ですか?

既定ではSVGを最適化しませんが、アドバイザリはこの設定で対象が変わるかを書いていません。Netlifyはnext/ogのImageResponseからも届くとしています。設定に頼らず修正版に上げます。[3][12][20]

Alpine Linuxのコンテナで動かしています。対象ですか?

アドバイザリの条件はglibcのLinuxで、muslを使うAlpine Linuxの記載はありません。sharpは0.35.5より前がすべて対象なので、版は上げます。[3][9]

出典・参考資料

  1. Next.js公式ブログ:Next.js Security Update for Upstream Vulnerabilities2026-10-14(米国時間) / 3件の概要と深刻度、修正版16.4.1・15.5.28と更新のコマンド、関連するReactのアドバイザリ、sharpの回避策、Pages RouterとServer Actionsを使わないアプリが対象外であること
  2. Next.js公式:GHSA-673q-mjm6-r5xr(Unauthenticated Remote Code Execution in use cache functions returning typed arrays)2026-10-15(日本時間) / 対象16.0.0〜16.4.0、修正16.4.1、App RouterとCache Components、use cache関数が複数の型付き配列を返す条件、回避策が無いこと、CVSS 4.0 9.5(Vercel)
  3. Next.js公式:GHSA-2464-fhr4-w9xw(CVE-2026-96889、Unauthenticated Remote Code Execution in Image Optimization API when SVG files are used)2026-10-15(日本時間) / 対象10.0.0〜15.5.27・16.0.0より後〜16.4.0、修正15.5.28・16.4.1、glibcのLinuxの条件、sharpを0.35.5以上にする回避策、CVSS 4.0 9.5(Vercel)
  4. Next.js公式:GHSA-p3m5-59mp-jv5r(Denial of Service in App Router using Server Actions)2026-10-15(日本時間) / 対象13.0.0〜15.5.27・16.0.0〜16.4.0、修正15.5.28・16.4.1、Pages RouterとServer Actionsを使わないアプリが対象外、回避策が無いこと、CVSS 4.0 8.2(Vercel)
  5. GitHub Advisory Database:GHSA-2464-fhr4-w9xw2026-10-23収録(日本時間) / 16系の範囲を16.0.0以上としていること、データベースへの収録日
  6. GitHub Advisory Database:GHSA-p3m5-59mp-jv5r(CVE-2026-94482)2026-10-23収録(日本時間) / CVE番号CVE-2026-94482、データベースへの収録日
  7. GitHub Advisory Database:GHSA-673q-mjm6-r5xr2026-10-23収録(日本時間) / CVEが付いていないこと、データベースへの収録日
  8. NVD:CVE-2026-968892026-09-24登録(日本時間)、2026-11-02確認 / librsvgの脆弱性であること、Red HatのCVSS 3.1 7.8、CISAのSSVCで悪用が「poc」(2026-09-25)
  9. sharp公式:GHSA-wq5f-xc86-pv6w(Vulnerability in librsvg dependency CVE-2026-96889)2026-10-01(日本時間) / 0.35.5より前が対象、0.35.5がlibrsvg 2.63.2を含むこと、OSのlibrsvgを使う場合、sharp.blockとPIEの回避策
  10. React公式:GHSA-xqc2-xf4c-x3h3(Unauthenticated Remote Code Execution in React Server Components)2026-10-15(日本時間) / 対象のパッケージ、修正版19.0.9・19.1.10・19.2.9・19.3.1、複数の型付き配列を運ぶ応答の条件、CVSS 4.0 9.5
  11. React公式:GHSA-h3gv-c5rc-p453(Denial of Service in Server Functions)2026-10-15(日本時間) / 対象のパッケージ、修正版、Server Functionsへの細工したリクエストの影響、CVSS 4.0 8.2
  12. Netlify:Next.js and React security vulnerabilities2026-10-14(2026-11-02更新) / Netlifyでの3件の影響、Netlify Image CDNとImageResponseの扱い、デプロイプレビューとブランチデプロイの削除
  13. シンガポールCSA:AL-2026-148 Critical Vulnerabilities in Next.js2026-10-20 / コード実行の2件についての注意喚起
  14. npm:next(版ごとの公開日時と依存)2026-11-02確認 / 15.5.28・16.4.1の公開、16系の最新が16.4.3、15.5.28・15.5.27・16.4.1のsharpの範囲、14.2.35にsharpの依存が無いこと
  15. npm:sharp(版ごとの公開日時)2026-11-02確認 / 0.35.5の公開日(2026-09-27)
  16. 米CISA:Known Exploited Vulnerabilities Catalog2026-10-30版 / 3件が載っていないこと
  17. FIRST:EPSS(CVE-2026-96889)2026-11-01 / EPSSの値
  18. Next.js公式:Support Policy2026-11-02確認 / 16系がActive LTS、15系がMaintenance LTS(2027年1月31日まで)、14系以前がサポート外
  19. Next.js公式:cacheComponents2026-11-02確認 / cacheComponentsの設定、use cacheとの関係、16.0.0で正式な設定になったこと
  20. Next.js公式:Image Component(dangerouslyAllowSVG)2026-11-02確認 / 既定ではSVGを最適化しないこと、dangerouslyAllowSVGの設定
  21. Next.js公式ブログ:Upcoming Next.js November Security Release2026-10-27(米国時間) / 米国時間11月3日の定期リリースと中程度7件の予告
  22. Next.js:v16.4.1のリリースノート2026-10-15(日本時間) / 16.4.1の修正が3件であること
  23. Next.js:v15.5.28のリリースノート2026-10-15(日本時間) / 15.5.28の修正が2件であること

あわせて読みたい記事

JavaScript / TypeScript公開 2026-11-01

Viteの脆弱性CVE-2026-118662|.envを読まれる6.4.4の確認方法と6.4.5への更新

Vite 6.4.4の脆弱性CVE-2026-118662は、ネットワークに公開した開発サーバーで、拒否したはずの.envなどを返すおそれがあります。10月6日の更新で6.4.4にした環境が対象になった理由、初期設定で条件がそろう点、Astro 5など間接の依存の確かめ方、6.4.5への上げ方を説明します。

JavaScript / TypeScript公開 2026-11-01

better-authの脆弱性CVE-2026-114607|Magic Linkで他人としてサインイン、1.7.7で修正

認証ライブラリbetter-authの脆弱性CVE-2026-114607は、Magic LinkとOAuthを併用する構成で、OAuthのstateをMagic Linkのトークンに流用され、他人としてサインインされるおそれがあります。対象かを設定で見分ける方法、1.7.7への更新と段取りを説明します。

PHP公開 2026-11-01

PHPのWindows版のBrotliの脆弱性、8.5.12-1などへの入れ替えとcURL・Guzzleの確かめ方(CVE-2026-111497)

PHPのWindows版に同梱のBrotliの脆弱性CVE-2026-111497は、米CISAが悪用を確認しています。10月21日の版も対象のままである理由、GuzzleやWordPressで自動展開が有効になる条件、8.5.12-1などへの入れ替えと確かめ方を説明します。