この記事の目次
まずは読むだけでも構いません。実践するときは、自分が管理する対象を一つ選びます。NodeやMCPが初めてなら、実行環境の基本から読み始められます。

導入先の版を確認する。
更新した実行ファイルを使うか確認。
その処理の実行版を確認する。
MCP・開発サーバー・本番を分ける。
影響の判断には、三つの確認がある
- 対象の版か
自分の系列・版と、公式発表を照合。
- 機能を使うか
対象機能を呼ぶ処理を調べる。
- 外部入力が届くか
どの経路で処理されるかをたどる。
この教材の結論
2026年10月21日の公式発表に掲載された修正版は 22.23.4 / 24.22.1 / 26.12.1 です。同じ系列の修正版以降を基準に、現在の公式リリース情報も確認してください。この数字は今回の更新の基準で、将来の安全を保証するものではありません。
情報の確認日:2026年10月24日。対象の脆弱性があることと、個別のアプリで悪用できることは別です。実行経路が分からない場合は「未確認」として管理します。
公式に確認できる修正
Node.jsの公式発表では、10件の脆弱性が掲載されています。高深刻度は次の4件です。
表がはみ出す場合は、横にスクロールして読めます。
| CVE | 問題 | 影響する系列 |
|---|---|---|
| CVE-2026-111497 | Brotli展開時の範囲外書き込み | 22 / 24 / 26 |
| CVE-2026-105482 | NUL文字を含むDNS名の切り詰め | 22 / 24 / 26 |
| CVE-2026-105483 | 全角数字のIPによるTLSホスト名検証の回避 | 24 / 26 |
| CVE-2026-106069 | IPとして解釈されるホスト名によるTLS検証の回避 | 22 / 24 / 26 |
残る6件は中・低深刻度で、HTTPのkeep-alive、証明書検証、乱数キャッシュ、ZIP処理、権限モデルなどが対象です。詳細は公式発表の各項目を参照してください。Brotliだけを見て更新対象を決めないことが大切です。
表がはみ出す場合は、横にスクロールして読めます。
| 系列 | この更新の修正版 | 判断 |
|---|---|---|
| 22.x | 22.23.4 | 同系列の修正版以降へ |
| 24.x | 24.22.1 | 同系列の修正版以降へ |
| 26.x | 26.12.1 | 同系列の修正版以降へ |
| 上記以外 | この発表に修正版の掲載なし | サポート状況を確認し、必要なら移行を計画 |
Brotliの入力経路をたどる
Brotliはデータの圧縮形式です。公式はこの問題をリモートコード実行につながる範囲外書き込みとして説明しています。一方、手元のアプリでコード実行が成立するか、実際に悪用されたかは、その記載だけでは分かりません。
- 01外部からの圧縮データ
- 02Brotliを展開する処理
- 03その処理のランタイム
調査する入口の例:
- 外部URLを取得し、圧縮レスポンスを展開する処理。MCPやサーバー側の取得処理も含みます。
- 圧縮されたリクエスト本文を受け付けるAPI。ミドルウェアの版と設定を確認します。
- アップロードされた圧縮ファイルを展開する処理。
fetch()やExpressを使っていることだけで、すべての構成が影響を受けるとは断定できません。実際の実装、ライブラリの版、圧縮対応、入力元まで確認します。公開PoCの実行は確認手順に含めません。
AIツールへの影響はどう考える?
アプリ本体・補助ツール・MCPのランタイムを分けます。Nodeの修正版番号を、BunやElectron、AIツール本体の修正済み判定に流用しないでください。
表がはみ出す場合は、横にスクロールして読めます。
| 分かること | それだけでは分からないこと |
|---|---|
| 手元のNodeの版 | アプリ同梱Nodeや起動中MCPの版 |
| アプリを最新版にしたこと | 対象修正の取り込み、脆弱な処理への到達可能性 |
| 古いランタイムがあること | 侵害の有無、攻撃の成立 |
元記事にある製品のバージョンは著者が観測した時点の実例です。全利用者の環境や製品全体の影響を示すものではありません。特定のClaude Code版を「修正済み」とする根拠は、この教材では確認できていません。
自分の環境を一つ確かめる
更新した版と、実行版を分ける
- インストール済み
新しく起動する処理が使う環境を確認。
- 起動中の処理
起動元・起動時刻・実際の版を別に確認。
- 対象を分ける。 手元のNode、起動中のMCP、CI、本番のうち一つを選びます。一つ分かっても、ほかの対象まで確認できたことにはなりません。
- 版を読む。 安全に調べる確認コマンドで、導入先と版を手元で調べます。この確認だけでは更新や停止を行いません。
- 入力経路を調べる。 上のBrotliの図に沿い、入力元・展開する処理・そのランタイムを確かめます。実装や設定が追えない範囲は「未確認」とします。
次は、起動中の対象を確かめよう。
手元で新しく起動したNodeの版は、起動中のMCPやアプリ同梱Nodeの版の証明にはなりません。必要な対象は起動中プロセスの確認へ進みます。ログや出力をそのまま共有する必要はありません。
確認から対応まで
- 自分のPC、MCP、CI、本番の実行版を記録する。
- 外部入力が届くサービス、サポート外の系列、長時間起動中の処理を優先して調査する。
- 導入方法に合った更新手順と、互換性・停止影響・戻し方を確認する。
- 更新し、対象プロセスを再起動する。本番は必要に応じて再ビルド・再デプロイする。
- 実行中の版と正常動作を再確認し、未確認の対象を残す。
確認後は、更新を完了させるチェックリストで、再起動や動作確認の漏れを確かめられます。
一次資料と出典
- Node.js 2026年10月セキュリティ発表 — 対象CVE・系列・修正版の根拠
- Node.js リリーススケジュール — サポート期間の確認先
- Node.js セキュリティ方針 — 報告と更新情報
- Zenn公開記事 — 本教材の出発点となった著者の事例
書いた人
マーケティングの現場から、AIをつくり、仕事で使う側へ。実際に試したことや、つまずいたことを、図解と具体例で伝えています。
この記事のURL:https://nekoai-lab.github.io/ai-security-playbook/learn/node-october-2026/
続けて読む



