Node.jsの 脆弱性 (2026年 10月21日の セキュリティリリース) バージョンの 確認と更新
- Node.jsは2026年10月21日に、v26.12.1、v24.22.1、v22.23.4を公開しました。
- 脆弱性は10件で、最高の深刻度はHighです。
- 公式の説明では、Claude Codeのバイナリは実行時にNodeを使いません。

Node.jsのプロジェクトは、2026年10月21日付で、26.x、24.x、22.xの3つの系列にセキュリティリリースを出しました。 修正版は、v26.12.1、v24.22.1、v22.23.4です。直した脆弱性は10件で、公式の記事では、最も高い深刻度はHighとされています(内訳はHighが4件、Mediumが3件、Lowが3件です)。
自分のNode.jsの版は、ターミナルでnode -vを実行すると分かります。上の修正版より前なら更新の対象です。公式の記事には、サポートが終わった版は、セキュリティリリースのたびに必ず影響を受けると書かれています。
Claude Codeを使っている人への影響は、公式のセットアップの説明に書かれている範囲では、次の通りです。npmで入れた場合も、実際に動くのはネイティブの実行ファイルで、動くときにNode.jsは使いません。Node.jsを更新する必要があるのは、自分の別のプロジェクトやツールがNode.jsで動いている場合です。
この記事は、2026年10月23日の時点で読んだ公式の情報にもとづきます。 内容は、Node.js公式のセキュリティリリースの記事、リリースの一覧、ダウンロードのページ、CLIの説明、Claude Codeのセットアップの説明と照らし合わせました。
直った版
| 系列 | 修正版 | 公式の |
|---|---|---|
| 系列26.x | 修正版v26.12.1 | 公式の一覧での状態Current |
| 系列24.x | 修正版v24.22.1 | 公式の一覧での状態LTS |
| 系列22.x | 修正版v22.23.4 | 公式の一覧での状態LTS |
| 系列25.x | 修正版修正版なし | 公式の一覧での状態EOL |
| 系列20.x | 修正版修正版なし | 公式の一覧での状態EOL |
25.xと20.xは、リリースの一覧でEOLとされている系列です。公式の記事の通り、EOLの版は影響を受けるので、修正を受けるには上の3つの系列のどれかへ移る必要があります。リリースの一覧には、本番で使うのはActive LTSかMaintenance LTSにする、とも書かれているので、本番のプログラムなら、LTSの24.xか22.xが候補です。
直した 脆弱性 (10件)
公式の記事の題の要約と、影響を受ける系列は次の通りです(深刻度は公式の記載です)。
系列ごとに数えると、次の通りです。
数値を表で見る
| 系列 | 修正版 | High | Medium | Low | 合計 |
|---|---|---|---|---|---|
| 系列26.x | 修正版v26.12.1 | High4件 | Medium3件 | Low3件 | 合計10件 |
| 系列24.x | 修正版v24.22.1 | High4件 | Medium3件 | Low1件 | 合計8件 |
| 系列22.x | 修正版v22.23.4 | High3件 | Medium3件 | Low1件 | 合計7件 |
個々の脆弱性は次の通りです。
High (4件)
- CVE-2026-111497 Brotliの展開処理で範囲外への書き込みが起き、リモートからコードを実行できる(26.x、24.x、22.x)
- CVE-2026-105482
dns.resolveが、NUL文字を含む名前を途中で切ってしまう(26.x、24.x、22.x) - CVE-2026-105483 IPアドレスが全角の数字で書かれているとき、TLS証明書のホスト名の確認を回避できる(26.x、24.x)
- CVE-2026-106069 ホスト名が緩くIPアドレスに解決されるとき、TLS証明書のホスト名の確認を回避できる(26.x、24.x、22.x)
Medium (3件)
- CVE-2026-105481 keep-aliveのソケットが、リクエストを送る前に書かれた応答を処理する(26.x、24.x、22.x)
- CVE-2026-106072 正規の形でないIPv4のホスト名で、証明書の検証が不適切になり、DNSのSANでIPアドレスの接続先を認証できてしまう(26.x、24.x、22.x)
- CVE-2026-106074
crypto.randomUUID()とrandomInt()の乱数のキャッシュが、起動のスナップショットとSEAに保存され、すべてのプロセスが同じ値を繰り返す(26.x、24.x、22.x)
Low (3件)
- CVE-2026-106070 ZipFileが、ZIPヘッダーの検証に失敗したあと、攻撃者が決めた先頭のバイトを返す(26.xのみ)
- CVE-2026-106071 Permission Modelのファイルシステムの許可が、ワイルドカードの検索で広がりすぎる(26.xのみ)
- CVE-2026-106073
fs.realpathSyncでPermission Modelを回避できる(26.x、24.x、22.x)
あわせて、公開されている脆弱性に対応する依存パッケージの更新も入っています。c-ares(26.x、24.x、22.x)、eMudhraの中間CAの侵害に伴うCA証明書のバンドル(26.x、24.x、22.x)、OpenSSL(24.x、22.x)、SQLite(22.x)、Undici(26.x、24.x、22.x)です。
公式の記事に、設定などで被害を減らす回避策の記載は見当たりませんでした。自分のプログラムが、どの機能をどう使っているかで影響は変わりますが、この記事ではそこまでは確かめていません。版を上げるのが基本です。
いまの 版の 確かめ方
ターミナルで次を実行します(CLIの説明に-vと--versionがあります)。
node -vv24.22.1のように出ます。出た版を、上の「直った版」の表と比べます。同じ系列で、修正版より数字が小さければ、更新します。
Node.jsの版を切り替える道具を使っているなら、実際にプログラムを動かすフォルダの中で実行して、そこで使われる版を確かめます。Dockerで動かしているなら、動いているコンテナの中で実行します。
入れ方ごとの更新
ダウンロードのページには、入れ方ごとにコマンドの形が出ます。ページに出ていたのは次の形です(24の部分は系列の番号です)。実行したあとは、必ずnode -vで、修正版以上になったかを確かめます。
| 入れ方 | ページに |
|---|---|
| 入れ方公式の | ページに出るコマンドの形ダウンロードの |
| 入れ方nvm | ページに出るコマンドの形nvm install 24 |
| 入れ方fnm | ページに出るコマンドの形fnm install 24 |
| 入れ方Homebrew | ページに出るコマンドの形brew install node@24 |
| 入れ方Chocolatey | ページに出るコマンドの形choco install nodejs --version= の |
| 入れ方Docker | ページに出るコマンドの形docker pull node:24-slim |
同じページには、こうした入れ方のうち、コミュニティのソフトを使うものは、そのソフトを管理しているチームが支えている、とあります。うまくいかないときは、その道具の公式の説明を見ます。
Linuxのパッケージでの更新は、OSの提供元が出している案内に従います。この記事では、各ディストリビューションの対応は確かめていません。
Claude Codeを 使っている人は
セットアップの説明(2026年10月23日に読みました)に書かれている内容は次の通りです。
- 動作環境の一覧に、Node.jsは載っていません
- npmで入れる場合は、Node.js 22以降が必要です。古いNode.jsでも、入れるときに警告が出るだけで、入れた
claudeは動きます。入るのはネイティブの実行ファイルで、動くときにNode.jsは使わないからです - npmのパッケージは、公式のコマンド1行で入れるものと同じネイティブの実行ファイルを入れます。入った
claudeの実行ファイルは、Node.jsを呼び出しません
つまり、Claude Code本体の動作のために、Node.jsの修正版が必要になるとは、この説明からは読み取れません。npmで入れたClaude Codeを更新するコマンドは、npm install -g @anthropic-ai/claude-code@latestです。説明には、npm update -gは最新に上がらないことがあるので避ける、とあります。
Claude Codeの更新の方法は、次の記事で入れ方ごとに説明しています。
関連記事Claude Codeに自分のプロジェクトの版の棚卸しをさせるなら、読むだけの使い方から始めるのが安全です。設定の考え方は次の記事で説明しています。
関連記事同じ週に公開された、PHPの重大な脆弱性についての記事もあります。
関連記事この 記事で 確かめた ことと、 確かめていないこと
確かめたこと
- 修正版、CVE番号、深刻度、影響を受ける系列は、Node.js公式の記事の記載と照らし合わせました
- 系列の状態(Current、LTS、EOL)は、公式のリリースの一覧で読みました
- Claude Codeの動作環境とnpmでの入れ方は、公式のセットアップの説明で読みました
確かめていないこと
- 各CVEの詳しい攻撃の条件や、CVSSの数値は、この記事では読んでいません
- 各ディストリビューションやパッケージ管理ツールが、いつ修正版を出すかは確かめていません
- Claude Codeの公式の説明が、MCPサーバーなど、Node.jsで動く周辺のツールについてどう書いているかは、今回は確かめていません
- npmで入れたClaude Codeを、Node.jsの更新の前後で実際に動かす検証はしていません
公式資料
- Wednesday, October 21, 2026 Security Releases 2026年10月23日に読みました
- Node.js Releases 2026年10月23日に読みました
- Download Node.js 2026年10月23日に読みました
- Node.js CLI 2026年10月23日に読みました
- Claude Code セットアップ 2026年10月23日に読みました
よく ある質問
Node.jsの バージョンは どう 確認しますか?
ターミナルでnode -vを実行します。v24.22.1のように出ます。今回の修正版は、26.xがv26.12.1、24.xがv24.22.1、22.xがv22.23.4です。
今回の セキュリティリリースで、 深刻度は どれくらいですか?
公式の記事では、直した10件のうち、High(高)が4件、Medium(中)が3件、Low(低)が3件で、最も高い深刻度はHighとされています。
Node.js 20や 25を 使っています。 修正されますか?
公式のリリースの一覧では、20.xと25.xはEOL(サポート終了)です。今回の修正版は26.x、24.x、22.xにだけ出ていて、公式の記事には、EOLの版は常に影響を受けると書かれています。修正版が出ている系列のどれかに移ります。リリースの一覧は、本番ではActive LTSかMaintenance LTSを使うよう書いているので、本番なら24.xか22.xが候補です。
Claude Codeを 使っていますが、 Node.jsの 更新は 必要ですか?
公式のセットアップの説明では、npmで入れたClaude Codeも、動くときにNode.jsを使いません。そのため、Claude Code本体のために更新する必要があるとは書かれていません。自分のほかのプロジェクトやツールがNode.jsで動いているなら、そちらは更新の対象です。
更新した あと、 何を 確かめれば よいですか?
node -vで修正版以上になっているかを確かめます。版を切り替える道具を使っているなら、プログラムを動かすフォルダの中でも実行します。Dockerなら、動いているコンテナの中で実行します。


