2026年8月25日、Next.js は 16.3.3(Active LTS)と 15.5.24(Maintenance LTS)を対象にした緊急のセキュリティリリースを公開しました。2件とも「重大(Critical Severity)」に分類される脆弱性で、片方は認証なしにリモートコード実行が可能というレベルのものです。
この記事を書いている今も、社内のNext.jsシステムがこのパッチを当てているかどうか即答できない、という方は少なくないはずです。それ自体は珍しいことではありません。問題は、「今回はたまたま気づいた」を繰り返すのか、「気づく仕組み」を作るのかの分岐点に、実はどの中小企業も立っているということです。
先に、要点をまとめます。
- 2026年8月25日、Next.js は AVIF画像最適化の脆弱性(GHSA-2xp9-vwfh-vxw4)と、Windows環境でのパストラバーサル脆弱性(CVE-2026-75604)という2件の重大(Critical)脆弱性に対応した v16.3.3 / v15.5.24 を公開しました
- CVE対応は「検知」「影響範囲の判定」「検証環境での適用」の3工程に分解でき、この3つを数日以内に回せるかどうかが、内製で運用するか保守を外部に委ねるかの分かれ目です
- 2026年は5月・7月・8月と大型のセキュリティリリースが続いており、単発の対応で終わらせず「バージョンアップ運用」として仕組み化する必要があります
なお、Next.jsのセキュリティ対策全般(認証・入力検証・環境変数管理など)は中小企業のNext.jsフルスクラッチで、セキュリティをどう担保するかで扱っています。本記事は「パッチが出た後、誰が・どう当てるか」という運用面に絞って整理します。
2026年8月の緊急パッチで何が起きたのか?
AVIF画像の最適化機能とWindows環境のファイル処理に、それぞれ認証不要でリモートコード実行につながる重大な脆弱性が見つかり、緊急パッチが公開されました。
Next.js公式ブログの発表によれば、今回のリリースで対応された脆弱性は次の2件です。
| 脆弱性 | 深刻度 | 内容 |
|---|---|---|
| GHSA-2xp9-vwfh-vxw4 | Critical | Image Optimization APIがAVIF画像を最適化する際、sharpが内部で使うlibheifライブラリの脆弱性により、攻撃者が用意した画像を経由して認証なしにリモートコード実行が可能。パッチではAVIF最適化自体を上流の修正が反映されるまで無効化する対応が取られています |
| CVE-2026-75604(GHSA-p293-qw3h-jr36) | Critical | Pages RouterとApp Routerを併用し、かつCache Componentsを使っていないアプリケーションで、Windows上で動作するサーバーに対して認証なしにリモートコード実行が可能。Linux・macOSは対象外です |
対応バージョンは次の通りです。
npm install next@16.3.3 # 16.3系(Active LTS)
npm install next@15.5.24 # 15.5系(Maintenance LTS)
特にWindows環境で稼働しているサーバーは、公式ブログ上でも「既知の回避策はない(there is no known workaround)」と明記されており、該当する場合は即座のアップグレードが必要です。逆にLinux・macOS上でホスティングしている場合は2件目の影響は受けませんが、AVIF画像最適化を使っている場合は1件目が該当するため、いずれにせよパッチ適用の要否を確認する作業自体は避けられません。
この8月のリリースは単発ではありません。今年に入ってから、Next.jsは5月にもmiddleware.js/proxy.jsによる認可を迂回できる複数の脆弱性に対応した大型リリース(v15.5.18/v16.2.6)を行っており(Vercelのセキュリティリリース告知)、8月で少なくとも2度目の重大リリースということになります。フレームワークのメジャーアップデートが年に数回のペースで来る以上、脆弱性パッチも同じか、それ以上の頻度で来るという前提で運用を組む必要があります。
ただし、パッチが出たからといって闇雲に適用すればよいわけではありません。本文後半で、適用前に確認すべき手順を整理します。
CVE対応は誰の仕事なのか?
「気づいた人がその都度対応する」体制のままだと、担当者が休暇中や離任時に見落とされるリスクが構造的に残ります。検知・判定・適用の3工程を役割として明確にしておくことが第一歩です。
中小企業のNext.jsシステムでCVE対応が滞る典型的なパターンは、担当者不在ではなく「担当が曖昧なまま特定の一人に依存している」ケースです。開発を依頼した会社との契約が納品時点で終わっていて、パッチ情報を能動的に追いかける役割が誰にも割り振られていない、という状態は珍しくありません。
CVE対応を仕組みとして考えるときは、次の3工程に分けて捉えると整理しやすくなります。
- 検知: Next.js公式ブログやGitHub Security Advisoriesを定期的に確認する、またはDependabotやSnyk等のツールで自動検知する
- 影響範囲の判定: 公開された脆弱性が自社のシステム構成(使用しているルーター・ホスティングOS・機能フラグ)に該当するかを確認する
- 検証環境での適用: パッチを検証環境に適用し、主要機能が壊れていないかを確認したうえで本番に反映する
この3工程のうち、特に見落とされやすいのが②です。今回のWindows向け脆弱性のように「特定の条件に該当する環境だけが対象」というケースは多く、「パッチが出た」というニュースだけを見て自社に関係あるかどうか判断できないまま放置される、という事態が起きがちです。逆に言えば、自社のホスティング環境(Vercel/AWS/Firebase App Hosting等)とルーター構成(App Router単独か、Pages Routerとの併用か)を正確に把握しているだけで、②の判定スピードは大きく変わります。
御社の場合、この3工程を誰が・どのくらいの頻度で回しているか、一度棚卸ししてみる価値があります。担当者名は決まっていても、実際に直近のパッチ(5月・7月・8月)の適用状況を答えられる人がいない、という状態であれば、それは「担当はいるが機能していない」状態です。
内製で運用するか、保守を外部に委ねるか、どう判断する?
①〜③の3工程を、パッチ公開から数日以内に確実に回せる体制があるかどうかが判断基準です。回せるなら内製、回せないなら保守契約で外部に委ねるのが現実的です。
「内製か外注か」を機能追加の話と同じ土俵で議論すると、判断を誤りやすくなります。CVE対応は機能開発と違って納期の融通が利きません。パッチが公開された時点で、脆弱性の内容自体が公知情報になるため、対応を先延ばしにするほど攻撃を受けるリスクが高まります。
内製での運用が現実的なのは、次のような条件がそろっている場合です。
- 社内に、Next.jsのアップデート内容を読んで影響範囲を判断できるエンジニアが継続的に在籍している(退職・異動で空白が生まれない体制)
- 検証環境(ステージング環境)が用意されていて、パッチ適用後の回帰確認を数時間〜1日程度で回せる
- 本番反映の意思決定を、経営者や情シス責任者の承認を待たずに、担当者の裁量である程度進められる
逆に、次のいずれかに当てはまる場合は、保守契約で外部に委ねたほうが結果的にリスクが下がります。
- 開発を依頼した時点で終わりにしていて、パッチ情報を能動的に追いかける担当が社内にいない
- 検証環境が無い、または本番環境としか呼べない環境でしか動作確認ができない
- エンジニアが1人しかおらず、その人が不在の間は誰も判断できない(いわゆる「1人情シス」のリスク)
この「内製か外注か」という問いそのものは、CVE対応に限らずNext.js開発全般で繰り返し出てくる論点です。判断基準の全体像は内製か外注か、中小企業がNext.jsで選ぶ基準でも整理しているので、パッチ対応以外の場面での判断にも参考にしてください。
当社の開発費用は1時間11,000円(税込)が基準です。ヒアリング後、ご依頼に応じて、要件定義・現状調査、相談内容のすり合わせ・仕様合意、開発・移行・公開準備、テスト・受入確認、不確実な作業へのバッファを当社で見積もり、概算をご案内します。お客様が開発工数を推測する必要はありません。
内製と外注、それぞれの向き・不向きを整理すると次のようになります。
| 観点 | 内製 | 保守外注 |
|---|---|---|
| 対応スピード | 社内判断のみで即動けるが、担当者の可用性に左右される | 契約SLA(対応開始までの時間)で担保できる |
| 属人化リスク | 担当者の退職・異動で知見が失われやすい | 委託先の体制でカバーされる(ただし委託先の担当交代リスクは残る) |
| 費用の見え方 | 人件費として給与に含まれ、パッチ対応分の費用が可視化されにくい | 保守契約の中で費用が明示される |
| 影響範囲の判定精度 | 自社システムを最もよく知る人が判断でき、精度が高くなりやすい | 委託先がシステム構成を正確に把握できているかに依存する |
表の「影響範囲の判定精度」は見落とされがちですが、実は外注時に最も注意すべき点です。保守を外部に委ねる場合、委託先が納品時のシステム構成をそのまま把握しているとは限りません。特に納品後に自社側で機能追加や構成変更を行っていた場合、委託先がその変更を知らないまま「パッチ対応済みです」という報告だけを受け取ってしまうと、実際には影響範囲の判定が不正確なまま進んでいるリスクがあります。保守契約を結ぶ際は、システム構成の変更があった場合に委託先へ共有するフローも合わせて決めておくことをおすすめします。

