Node.jsの脆弱性10件

Node.jsの脆弱性10件

プログラムを動かす基盤の「Node.js」が、2026年10月21日(米国時間)に、10件の脆弱性を修正するセキュリティ更新を公開しました。うち4件は深刻度「高」で、最も重大なのは、外部からプログラムを実行されるおそれがある不具合です。AIコーディングツールやMCPサーバーを自分のパソコンで動かす人も、Node.jsを使っている可能性があります。確認と更新の方法をまとめます。

【出典元】Wednesday, October 21, 2026 Security Releases(Node.js)

10件を修正し深刻度「高」は4件

脆弱性とは、悪用されるとデータの盗難や乗っ取りにつながる、プログラムの弱点です。今回修正されたのは10件で、深刻度の内訳は、高が4件、中が3件、低が3件です。

深刻度「高」の4件は、次のとおりです。

番号内容(かみ砕いた説明)
CVE-2026-111497圧縮データ(Brotli形式)の展開で、メモリの範囲外に書き込まれ、外部からプログラムを実行されるおそれがある
CVE-2026-105482名前を調べる処理(dns.resolve)が、特殊な文字を含む名前を途中で切ってしまう
CVE-2026-105483全角数字で書いたIPアドレスで、通信相手の証明書の確認をすり抜けられる
CVE-2026-106069接続先がIPアドレスのように解釈される場合に、証明書の確認をすり抜けられる

中と低の6件には、同じ乱数が繰り返し出てしまう問題や、権限を制限する機能(Permission Model)の抜け道などが含まれます。

最も重大なのは圧縮データの処理

最も重大なCVE-2026-111497は、圧縮されたデータを元に戻す処理の不具合です。悪意のあるデータを読み込ませると、想定外の場所に書き込まれ、外部のプログラムを実行されるおそれがあります。26系、24系、22系のすべてが対象です。

この脆弱性の報告者には、「OpenAI Codex Security」の担当者の名前が挙げられています。AIを使ったセキュリティ調査が、広く使われる基盤の弱点を見つけた例といえます。

公式のブログには、回避策の記載がありません。対策の基本は、修正版への更新です。

更新が必要な版と修正版

修正版は、使っている系列によって決まります。

系列状態修正版
26系最新版(Current)v26.12.1
24系LTS(長期サポート)v24.22.1
22系LTS(長期サポート)v22.23.4
25系・20系サポート終了(EOL)なし

公式は、サポートが終了した版は、セキュリティ更新があるたびに「影響を受ける」ものとして扱うと説明しています。25系や20系以前を使っている場合は、サポート中の系列への移行が必要です。仕事や本番の環境では、LTSの利用が推奨されています。

自分のバージョンはコマンドで確認

確認は、ターミナル(Windowsではコマンドプロンプトなど)で、次のコマンドを入力するだけです。

  1. ターミナルを開く
  2. node -v と入力して、Enterキーを押す
  3. 表示された数字(例:v24.20.0)を、上の表と見比べる

表示が修正版より古ければ、更新が必要です。「コマンドが見つかりません」と出る場合は、Node.jsを入れていないので、この件の心配はありません。

確認する場所は、自分のパソコンだけではありません。サーバー、Dockerのイメージ、社内ツール、開発用の環境にも、別のNode.jsが入っている場合があります。

更新の手順は導入方法で変わる

更新の方法は、Node.jsをどう入れたかによって違います。公式のダウンロードページに載っている方法のうち、主なものを整理します。

入れ方更新のしかた
nvm(バージョン管理ツール)nvm install 24 と入力すると、24系の最新版が入る
Homebrew(Mac)公式の入れ方は brew install node@24。更新には、Homebrewの標準的な brew upgrade node@24 が使える
公式インストーラー公式のダウンロードページから最新のインストーラーを取得して、実行し直す
Docker使っている版のイメージを取得し直し、アプリのイメージを作り直す

どの方法でも、更新したあとに node -v をもう一度実行して、修正版以上になったかを確かめてください。ほかにも、fnmやChocolateyなど、公式ページに載っている方法があります。

更新後にやっておきたいこと

更新して終わりではなく、次の点も確認しましょう。

  • 動いているものを再起動する:サーバーやツールは、再起動するまで古い版のまま動いている場合があります
  • Dockerを使っている場合は、イメージの作り直しと、入れ替えを行う
  • 乱数を使うスナップショットや、単体実行ファイル(SEA)を使っている場合は、作り直しを検討する
  • 公式の通知を受け取る:続報は、公式のメーリングリスト(nodejs-sec)で確認できます

スナップショットの作り直しは、乱数の問題(CVE-2026-106074)への一般的な対応で、公式が明記しているわけではありません。

AIツールを使う人が確認すること

ChatGPTやClaudeなどを、ブラウザやアプリで使うだけの人は、この件を心配する必要はありません。確認が必要なのは、自分のパソコンやサーバーにNode.jsを入れている人です。

たとえば、AIコーディングツールやMCPサーバー(AIに外部の機能をつなぐ仕組み)には、Node.jsで動くものがあります。「使っているツールがNode.jsを必要とするか」が分からないときは、node -v で入っているかを確かめるのが近道です。

まとめ

Node.jsは、10件の脆弱性を修正する更新を公開しました。深刻度「高」は4件で、最も重大なのは、圧縮データの処理から外部のプログラムを実行されるおそれがある不具合です。node -v で版を確認し、v26.12.1、v24.22.1、v22.23.4のいずれかに更新してください。25系や20系以前は、修正版が出ないため、サポート中の系列への移行が必要です。本記事は2026年10月23日時点の公式情報に基づいています。

関連記事