# Node.jsの脆弱性10件(2026年10月21日)とNext.jsの緊急修正(10月14日)｜Next.js・Nuxt・Expressで作ったサイトの発注者が確認すること

> Node.jsは2026年10月21日、深刻度Highの4件を含む脆弱性10件を修正した26.12.1・24.22.1・22.23.4を公開しました。1週間前にはNext.jsが認証なしで遠隔コード実行されうる重大な脆弱性2件を修正しています。PHPと同じ日に出た修正を、Node.jsで作ったサイト・システムの発注者向けに、対象の見分け方、誰が更新するか、委託先に聞く質問の順で整理しました(2026年10月22日9時40分時点)。

発行: 株式会社ウェステリア(https://westeria.jp) / カテゴリ: データ流出・不正アクセス事案 / 出典: https://westeria.jp/security-incidents/guide/nodejs-security-release-2026-10/

PHPの緊急修正と同じ2026年10月21日に、Node.jsもセキュリティリリースを公開しました。深刻度Highの4件を含む脆弱性10件を修正した26.12.1・24.22.1・22.23.4です。さらにその1週間前の10月14日には、Node.jsの上で動く代表的な仕組みであるNext.jsが、認証なしで遠隔からコードを実行されうる重大な脆弱性2件を修正しています。Node.jsは、Next.jsやNuxtで作った会社サイトや会員サイト、ExpressなどのAPIサーバー、AIエージェントの実行環境などで使われています。この記事は、Node.jsで作ったシステムを発注・運用している経営者や業務部門の方に向けて、自社が対象かの見分け方、誰が更新するか、委託先に聞く質問を、公式の発表をもとに整理したものです。2026年10月22日9時40分(日本時間)時点の情報です。

仕様確認・更新日: 2026-10-22

## 結論

- Node.jsの修正版は26.12.1・24.22.1・22.23.4(2026年10月21日)。High 4件のうち最も重いのは、Brotli形式の圧縮データを展開する処理の欠陥で遠隔コード実行につながるもの。TLS証明書のホスト名検証をすり抜けられる欠陥も2件あります。20以前と25は公式のサポートが終わっており、修正版は出ません
- Next.jsは10月14日に16.4.1・15.5.28を公開。認証なしの遠隔コード実行2件(うち1件は回避策なし)とサービス停止1件を直しています。JPCERT/CCは、画像最適化の脆弱性(CVE-2026-96889)について概念実証コードの公開を確認したと10月21日に伝えています。Next.jsのサイトは、Node.jsとNext.jsの両方を更新する必要があります
- PHPと違い、Node.jsはレンタルサーバー会社が自動で更新してくれる形が少なく、自社か制作会社の仕事になることが多いです。「どこで動いているか」「誰が更新するか」を今日のうちに確かめ、修正版に上げてください。公開サイトの生成(ビルド)だけに使っている場合は、公開中のサイトに影響はありませんが、ビルド環境の更新は必要です

## 公式の発表で分かったこと(Node.js、2026年10月21日)

Node.jsプロジェクトは2026年10月21日(米国時間)、26.x・24.x・22.xの3系列に対するセキュリティリリースを公開しました。修正された問題の最高深刻度はHighです。公式ページには各脆弱性の見出しと影響する系列が載っており、悪用の条件や、実際に悪用されたかどうかは書かれていません。

| 系列 | 修正版 | サポート状況(Node.js公式のスケジュール、2026年10月22日時点) |
| --- | --- | --- |
| 26 | 26.12.1 | 現行版。2026年10月28日にLTS(長期サポート)入り、2029年4月30日まで |
| 24 | 24.22.1 | LTS。2026年10月20日から保守期間、2028年4月30日まで |
| 22 | 22.23.4 | LTS(保守期間)。2027年4月30日まで |
| 25 | 公式の修正版なし | 2026年6月1日でサポート終了 |
| 20以前 | 公式の修正版なし | 20は2026年4月30日でサポート終了。それ以前はさらに前に終了 |

### 直された10件の内訳

深刻度High が4件、Mediumが3件、Lowが3件です。公式の見出しを、何に関わる問題かが分かるように言い換えると次のようになります(公式の説明を平易にしたもの)。

| 深刻度 | CVE | 何に関わる問題か | 影響する系列 |
| --- | --- | --- | --- |
| High | CVE-2026-111497 | Brotli形式の圧縮データを展開する処理で、範囲外のメモリに書き込みが起き、遠隔コード実行につながる | 26・24・22 |
| High | CVE-2026-105483 | IPアドレスを全角の数字で書くと、TLS証明書のホスト名の検証をすり抜けられる | 26・24 |
| High | CVE-2026-106069 | ホスト名がゆるくIPアドレスとして解釈される場合に、TLS証明書のホスト名の検証をすり抜けられる | 26・24・22 |
| High | CVE-2026-105482 | DNSの名前解決で、NUL文字を含む名前が途中で切り詰められる | 26・24・22 |
| Medium | CVE-2026-105481 | 接続を使い回す(Keep-alive)通信で、リクエストを送る前に書かれた応答を処理してしまう | 26・24・22 |
| Medium | CVE-2026-106072 | 正規でない書き方のIPv4ホスト名に対し、証明書の検証が甘くなる | 26・24・22 |
| Medium | CVE-2026-106074 | 乱数(randomUUIDとrandomInt)の種が起動スナップショットや単一実行ファイルに保存され、プロセスごとに同じ値が繰り返される | 26・24・22 |
| Low | CVE-2026-106070 | ZIPの検証に失敗した後、攻撃者が操作できるデータの一部を返してしまう | 26のみ |
| Low | CVE-2026-106071 | 権限モデルのワイルドカード検索で、ファイルの権限が広く付与される | 26のみ |
| Low | CVE-2026-106073 | fs.realpathSyncで権限モデルを迂回できる | 26・24・22 |

同時に、Node.jsが内部で使っている部品も更新されています。DNSの部品(c-ares)、HTTP通信の部品(undici)、暗号の部品(OpenSSL。24と22)、データベースの部品(SQLite。22)、そして信頼する認証局の一覧(ca-cert)です。認証局の一覧の更新は、公式ページで「eMudhra Intermediate CA Compromise」(ある中間認証局の侵害)への対応と書かれています。

### PHPとの違い

同じ日に出たPHPの修正は、認証なしで遠隔からコードを実行されうる2件で、公式が「直ちに更新」と呼びかけ、首相の呼びかけもありました(当社の解説「PHPの緊急脆弱性」)。Node.jsの10件は、公式が最高深刻度をHighとしており、Criticalではありません。ただし、Brotliの展開処理の欠陥は遠隔コード実行につながるとされています。公式ページには、どの機能を使うと影響を受けるかの条件は書かれていません。外部と通信するシステムは、自分で圧縮データを扱っている自覚が無くても対象になりうると考えて、更新してください。PHPの対応が落ち着いたら、Node.jsも同じ週のうちに更新してください。

出典: [Node.js「October 2026 Security Releases」(2026-10-21)](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases)
出典: [Node.js「Node.js 24.22.1 (LTS)」(2026-10-21)](https://nodejs.org/en/blog/release/v24.22.1)
出典: [Node.js リリーススケジュール(nodejs/Release)](https://github.com/nodejs/Release)

## Next.jsの緊急修正(2026年10月14日)

Next.jsは、Node.jsの上で動くWebサイト・Webアプリの作り方(フレームワーク)の一つで、会社サイトや会員サイトの制作に使われています。Next.jsの開発元は2026年10月14日、定例外のセキュリティ更新として16.4.1(現行LTS)と15.5.28(保守LTS)を公開しました。内容は次の3件です。

- 深刻度Critical: App RouterとCache Componentsを使うアプリで、「use cache」の関数が複数の型付き配列を返す場合に、認証なしで遠隔コード実行されうる。回避策は無く、該当する関数が無くてもすぐ更新するよう求めている(Reactの上流の脆弱性に関連)
- 深刻度Critical: 画像最適化の機能でSVGを扱うとき、内部で使う画像処理の部品(sharp)の欠陥により、glibcを使うLinux上で遠隔コード実行されうる(CVE-2026-96889)。回避策はsharpを0.35.5以上にすること。Next.jsを修正版に上げれば自動で直る
- 深刻度High: App RouterでServer Actionsを1つでも使うアプリに細工したリクエストを送ると、CPUを使い切らせてサービスを止められる。Pages RouterやServer Actionsを使わないアプリは対象外

JPCERT/CCは2026年10月21日のWeekly Reportで、このうち画像最適化の脆弱性(CVE-2026-96889)について、概念実証コード(攻撃が成立することを示すコード)の公開を確認したと伝え、修正済みバージョンへの更新を対処方法としています。Next.jsのサイトは、Node.js本体とNext.jsの両方を更新する必要があります。片方だけでは足りません。

出典: [Next.js「Next.js Security Update for Upstream Vulnerabilities」(2026-10-14)](https://nextjs.org/blog/nextjs-security-update-october-14-2026)
出典: [JPCERT/CC Weekly Report 2026-10-21「Next.jsに複数の脆弱性」](https://www.jpcert.or.jp/wr/2026/wr261021.html#8)

## 自社に関係があるかの見分け方

Node.jsは、JavaScriptをサーバー側で動かすための実行環境です。画面に名前が出ることはないので、使っているかどうかは作った人に聞くのが確実です。次のどれかに当てはまれば、Node.jsで動いている可能性が高いと考えてください。

- 会社サイトや会員サイトを、Next.js・Nuxt・Remix・SvelteKitなどで作ってもらった
- スマホアプリやWebアプリの裏側のAPIを、ExpressやNestJS、Fastifyなどで作ってもらった
- VercelやNetlifyなど、JavaScriptのサイトを得意とするホスティングで公開している
- 社内の自動化ツールやチャットボット、AIエージェント(MCPサーバーなど)をJavaScript/TypeScriptで作っている
- 制作会社から受け取ったファイルに package.json がある。npm・yarn・pnpm という言葉を聞いたことがある

反対に、WordPressやEC-CUBEで作ったサイトはPHPで動いており、Node.jsの話ではありません(そちらはPHPの解説を読んでください)。Shopify・BASE・Wixなどの作成サービスは、裏側の更新がサービス側の仕事です。

### 「動かしている」のか「作るときに使っている」のか

Node.jsには2つの使い方があります。1つは、サーバーで常に動いていて、訪問者のリクエストを処理する使い方(Next.jsのサーバー、APIサーバーなど)。もう1つは、公開用のファイルを作る(ビルドする)ときだけ使い、公開中のサイトはできあがったHTMLを配るだけ、という使い方です。後者なら、公開中のサイトが今回の脆弱性で攻撃されることはありません。ただし、ビルドする環境のNode.jsは更新の対象です。当社のサイト(westeria.jp)はこの後者の構成です。

## 誰が更新するのか

PHPはレンタルサーバー会社が修正を当てる形が多いのに対し、Node.jsは自社か制作会社がバージョンを決めて動かしている形が多く、「誰も更新していない」が起きやすい環境です。置き場所ごとに確かめることが違います。

| 置き場所 | Node.jsを更新するのは | いま確かめること |
| --- | --- | --- |
| VPS・クラウドの仮想サーバーに自社や制作会社が入れた | 管理している人。自動では更新されない | いまの系列(22・24・26)と、修正版への更新の日時・手順・停止時間 |
| コンテナ(Docker)で動かしている | イメージを作っている人。イメージを作り直して配置し直す必要がある | ベースにしているNode.jsのイメージの系列と、作り直しの予定 |
| サーバーレス・ホスティング(Vercel、Netlify、AWS Lambdaなど) | 実行環境の修正はサービス側が当てることが多いが、どの系列を使うかは利用者が設定で選んでいることが多い | サービスの告知と、自社が選んでいる系列がサポート中か(20や25のままなら、設定を変えて再デプロイ) |
| 公開用ファイルの生成(ビルド)だけに使う | ビルドをしている人(社内か制作会社) | 公開中のサイトへの影響はない。次のビルドまでにビルド環境のNode.jsを更新する |
| Next.jsなどのフレームワークを使っている | アプリを作った人 | Node.js本体に加えて、Next.js自体(16.4.1・15.5.28以上)と依存する部品の更新 |

## いまやること

順番は、PHPの解説と同じです。まず、Node.jsで動いているもの・作っているものを書き出します。本番だけでなく、検証用、社内ツール、AIエージェントの実行環境も含めてください。

- 系列を確かめる: それぞれのNode.jsのバージョン(例: 24.22.0)を、管理している人に確認する。20以前や25なら、サポート中の系列(22・24・26)への移行が先
- 修正版に上げる: 26は26.12.1、24は24.22.1、22は22.23.4へ。コンテナなら、ベースのイメージを修正版に変えて作り直し、配置し直す
- Next.jsを使っているなら、Next.jsも上げる: 16系は16.4.1以上、15系は15.5.28以上。sharpなどの依存する部品も、Next.jsの更新で自動的に直る
- 動作を確かめる: トップ、ログイン、画像の表示、フォーム送信など、決めておいた画面を開く
- 記録して報告する: いつ、どのサーバーを、どのバージョンに上げたかを1行で残す。委託先に任せた場合は、同じ内容を文章で報告してもらう

### 制作会社・運用会社に聞く質問

- 当社のサイト・システムはNode.jsで動いていますか。動いているなら、どこで(サーバー・コンテナ・サーバーレス)、どの系列ですか
- 2026年10月21日のNode.jsの修正版(26.12.1・24.22.1・22.23.4)は、いつ適用しますか(しましたか)
- Next.jsを使っていますか。使っているなら、10月14日の修正版(16.4.1・15.5.28)は適用しましたか
- Node.jsとフレームワークの更新は、保守契約の範囲に入っていますか。入っていない場合、費用と日程はどうなりますか
- 20以前や25のまま動いているものはありませんか。あるなら、サポート中の系列への移行の計画はありますか
- 更新が終わったら、日時と更新後のバージョンを知らせてもらえますか

出典: [Node.js「October 2026 Security Releases」(2026-10-21)](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases)
出典: [Next.js「Next.js Security Update for Upstream Vulnerabilities」(2026-10-14)](https://nextjs.org/blog/nextjs-security-update-october-14-2026)

## すぐに更新できないとき

古い系列のまま動いていて修正版に上げられない、制作会社と連絡が取れない、という場合の選択肢です。Node.jsの公式ページには、設定による緩和策は書かれていません。

- サポート中の系列へ移行する: 20以前や25は公式の修正版が出ない。22・24・26のどれかに上げる。動作確認が要るため、制作会社と一緒に計画する
- 外部から受け取るデータを絞る: Brotliの展開処理の欠陥は、外部から来た圧縮データを展開する処理が関わる(公式ページに条件の記載はなく、見出しからの判断)。外部からのファイルや通信の受け入れを、更新までの間だけ減らすことを検討する
- Next.jsの画像最適化の脆弱性には回避策がある: sharpを0.35.5以上にする(開発元の案内)。use cacheの脆弱性には回避策が無く、更新するしかない
- 改ざんや侵入の疑いがある場合は、更新より先に調査: IPAの相談窓口や事故対応の専門会社に連絡する。当社は調査(フォレンジック)は行いません

出典: [Node.js「October 2026 Security Releases」(2026-10-21)](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases)
出典: [IPA 企業・組織向けサイバーセキュリティ相談窓口](https://www.ipa.go.jp/security/todokede/incidentportal.html)

## まだ分かっていないこと・この記事の更新履歴

次の点は、2026年10月22日9時40分の時点で確認できていません。分かり次第、この記事に追記します。

- Node.jsの10件について、実際の悪用が確認されたかどうか。公式ページに記載はありません
- Node.jsの各脆弱性の悪用の条件(どのAPIを使うと影響を受けるか)。公式ページには見出しと影響する系列だけが載っています
- JPCERT/CC・IPAのNode.js本体に関する注意喚起。2026年10月22日9時40分時点で確認できていません(Next.jsはJPCERT/CCのWeekly Reportに掲載)
- 主要なホスティングサービスの対応状況。各社の告知で確かめてください

### 更新履歴

- 2026年10月22日9時40分: 初版を公開

## よくある質問

### Node.jsの修正版はどのバージョンですか

2026年10月21日公開の26.12.1・24.22.1・22.23.4です。自社の系列(22・24・26)に合わせて上げてください。20以前と25は公式のサポートが終わっており修正版は出ないので、サポート中の系列へ移行する必要があります。

### Next.jsで作ったサイトは何をすればよいですか

Node.js本体の更新に加えて、Next.js自体を16.4.1(16系)または15.5.28(15系)以上に上げてください。10月14日の修正で、認証なしの遠隔コード実行2件(うち1件は回避策なし)とサービス停止1件が直っています。JPCERT/CCは、画像最適化の脆弱性について概念実証コードの公開を確認したと伝えています。

### サイトはNode.jsで作っていますが、公開しているのはHTMLだけです。対象ですか

公開中のサイトが今回の脆弱性で攻撃されることはありません。ただし、サイトを生成(ビルド)する環境のNode.jsは更新の対象です。次のビルドまでに修正版に上げてください。当社のサイトもこの構成です。

### Vercelなどのホスティングを使っています。自社でやることはありますか

実行環境の修正はサービス側が当てることが多いですが、どの系列のNode.jsを使うかは利用者が設定で選んでいることが多いです。サービスの告知を確認し、20や25などサポート終了の系列を選んでいれば、設定を変えて配置し直してください。Next.jsなどフレームワーク自体の更新は、サービス側ではなく自社(制作会社)の仕事です。

### PHPとNode.js、どちらを先に対応すべきですか

両方使っているなら、PHPが先です。PHPの2件は認証なしの遠隔コード実行で、公式が直ちに更新するよう求めています。Node.jsの10件は最高深刻度がHighで、Criticalではありませんが、Brotliの展開処理の欠陥は遠隔コード実行につながるとされています。PHPの対応が終わったら、同じ週のうちにNode.jsとNext.jsも更新してください。

## 関連ページ

- https://westeria.jp/security-incidents/guide/php-security-release-2026-10/
- https://westeria.jp/security-incidents/guide/checklist/
- https://westeria.jp/security-incidents/guide/a2b-attack/

---

株式会社ウェステリアは、AIネイティブな開発スタイルでソフトウェア開発と業務自動化を行う会社です。初回1時間の無料ヒアリングを受け付けています: https://westeria.jp/#contact
