結論:Node.jsの開発チームは2026年10月21日、22系・24系・26系のセキュリティ更新(22.23.4・24.22.1・26.12.1)を公開しました。最も重い深刻度は「高(HIGH)」で、Brotli形式の圧縮データを展開する処理の不具合から、外からプログラムを実行されるおそれ(リモートコード実行)がある問題(CVE-2026-111497)も含まれます。Node.jsを動かしているサーバー・開発環境・CIは、今日中に版を確かめて更新してください。
- 何が起きた:深刻度「高」が4件、「中」が3件、「低」が3件の、合わせて10件の脆弱性の修正です。c-ares・OpenSSL・Undici・SQLiteなどの依存部品の更新と、侵害されたeMudhraの中間認証局の証明書への対応も入っています。
- 誰に影響する:サポート中の22系・24系・26系のすべてです。20系は2026年4月30日にサポートが終わっていて、修正は出ません。
- 何をする:サーバー・Dockerのイメージ・CI・開発機のNode.jsを修正版へ上げます。Claude Code本体は実行時にPCのNode.jsを使いませんが、npxなどで動かしているMCPサーバーは対象です。
対象読者:Node.jsでWebサービスや社内ツールを動かしている開発・情報システムの担当者、AIエージェントやMCPサーバーを社内で使っている会社の担当者
読了後にできること:どの版が対象かを確かめ、サーバー・コンテナ・CI・開発機の順に更新を進められます。
最終更新:2026年10月22日(JST)
10月21日は、PHPの緊急の修正とNode.jsのセキュリティ更新が同じ日に重なりました。私たちもPHPの対応を進めながら、開発に使っているMacとサーバーで動いているNode.jsの版を1台ずつ確かめ、更新を進めました。
確かめてみて分かったのは、「公式の修正版が出た時刻」と「自分の環境に届く時刻」がずれることです。公式の配布サイトには修正版が出ていても、Homebrewや各Linuxディストリビューションのパッケージには、まだ前の版しか無い時間がありました。たとえば10月22日0時すぎの時点で、私たちのMacのHomebrewのNode.jsは26.12.0のままで、修正版の26.12.1はまだ届いていませんでした。急ぐ環境では、公式の配布物か、バージョン管理の道具(nvmなど)から入れるほうが早く確実です。
この記事では、Node.jsの公式のセキュリティ告知(nodejs.org)を一次情報にして、何が直されたか、どの版が対象か、今日やることを整理します。AIツールを使う会社がつまずきやすい「Claude CodeはNode.jsの更新が要るのか」という点も、公式ドキュメントで確かめました。
同じ日に出たPHPの緊急の脆弱性については、PHPの緊急脆弱性(CVE-2026-109618)|対象と今やることにまとめています。WordPressなどPHPで動くサイトを持っている会社は、そちらも合わせて確かめてください。
Node.jsが10月21日に公開したセキュリティ更新の内容
Node.jsの公式の告知(Wednesday, October 21, 2026 Security Releases)に載っている脆弱性は次の10件です。深刻度は告知の表記どおりです。

| CVE番号 | 深刻度 | 何が起きるか | 対象の系列 |
|---|---|---|---|
| CVE-2026-111497 | 高 | Brotli形式のデータを展開する処理で、決められた範囲の外に書き込んでしまう。外からプログラムを実行されるおそれ(リモートコード実行) | 26・24・22 |
| CVE-2026-105482 | 高 | 名前解決(dns.resolve)で、途中に特殊な文字(NUL)を含む名前が切り詰められて扱われる | 26・24・22 |
| CVE-2026-105483 | 高 | IPアドレスを全角の数字で書くと、TLS証明書のホスト名の確認をすり抜けられる | 26・24 |
| CVE-2026-106069 | 高 | ホスト名がゆるくIPアドレスと解釈される場合に、TLS証明書のホスト名の確認をすり抜けられる | 26・24・22 |
| CVE-2026-105481 | 中 | 使い回しの接続(Keep-Alive)で、リクエストを送る前に書かれた応答を処理してしまう | 26・24・22 |
| CVE-2026-106072 | 中 | 標準的でない書き方のIPv4のホスト名で、ドメイン名の証明書がIPアドレスの相手の確認に使えてしまう | 26・24・22 |
| CVE-2026-106074 | 中 | 起動時のスナップショットや単一実行ファイル(SEA)に乱数の蓄えが保存され、crypto.randomUUID() などが毎回同じ値を返す | 26・24・22 |
| CVE-2026-106070 | 低 | ZIPのヘッダーの確認に失敗した後、攻撃者が決めた先頭のデータを返してしまう | 26 |
| CVE-2026-106071 | 低 | Permission Model(権限の仕組み)で、ワイルドカードの指定によりファイルの権限を広く与えすぎる | 26 |
| CVE-2026-106073 | 低 | Permission Modelで、fs.realpathSync を使うと制限をすり抜けられる | 26・24・22 |
このほか、名前解決の部品(c-ares)、HTTPの部品(Undici)、OpenSSL(24系・22系)、SQLite(22系)の更新と、侵害されたeMudhraの中間認証局の証明書への対応(ca-cert)も入っています。
経営者や担当者が押さえておきたいのは2点です。1つは、Brotliの展開の不具合(CVE-2026-111497)が「外からプログラムを実行されるおそれ」のある種類だということ。もう1つは、TLS証明書の確認をすり抜けられる問題が複数あり、Node.jsで外部のAPIやサービスに安全につないでいるつもりの処理にも関わることです。
対象の版と、更新後の版
公式の告知では、22系・24系・26系の3つの系列に修正版が出ています。サポート期間は、Node.jsの公式のリリース予定表で確かめられます。

| 系列 | 修正版 | 今の段階とサポートの終わり |
|---|---|---|
| 26系 | 26.12.1 | 最新版(Current)。2026年10月28日に長期サポート(LTS)になる予定。2029年4月30日まで |
| 24系 | 24.22.1 | 長期サポート。2026年10月20日から保守の段階。2028年4月30日まで |
| 22系 | 22.23.4 | 長期サポートの保守の段階。2027年4月30日まで |
| 20系以前 | 修正なし | 20系は2026年4月30日にサポート終了。公式は「サポートが終わった版は、セキュリティ更新のたびに必ず影響を受ける」としている |
20系以前を使い続けているなら、今回の修正は届きません。公式の告知のページには、保守の段階を過ぎた版の有償サポートを、OpenJSのパートナー企業から受けられるとの案内もあります。ただ、多くの会社にとって現実的なのは、22系・24系へ移すことです。
今日やること
次の順に確かめてください。Node.jsは「サーバー」だけでなく、コンテナ・CI・開発機・社内ツールの中にも入っていることが多いので、置き場所ごとに見るのが確実です。

- 版を確かめる:各環境で
node -vを実行し、22.23.4・24.22.1・26.12.1 以降かを見ます。 - サーバーと開発機を更新する:公式の配布物、nvmなどのバージョン管理の道具、OSのパッケージのいずれかで上げます。Homebrewや各ディストリビューションのパッケージは、公式より遅れて届くことがあります。届いていなければ、公式の配布物かnvmで入れます。
- Dockerのイメージを作り直す:node:22 などのベースイメージを使っているなら、新しいベースイメージで作り直してデプロイし直します。動いているコンテナは、作り直すまで古いNode.jsのままです。
- CIの設定を確かめる:GitHub Actionsなどで版を細かく固定しているなら、修正版に上げます。
- サーバーレスや組み込みのNode.jsは提供元を確かめる:クラウドの実行環境や、アプリに組み込まれたNode.jsは、自分では上げられないことがあります。提供元の更新状況を確かめます。
- 20系以前の移行を決める:修正が出ないので、移行の時期を今日決めます。
AIツールを使う会社が確かめること
AIエージェントやMCPサーバーを使っている会社では、「どの道具がNode.jsで動いているか」が分かりにくくなりがちです。私たちが公式ドキュメントで確かめた範囲(2026年10月22日に確認)では、次のように整理できます。

| 道具 | Node.jsの更新との関係 |
|---|---|
| Claude Code本体 | 公式ドキュメントによると、ネイティブのインストーラー版もnpm版も同じネイティブの実行ファイルで動き、実行時にPCのNode.jsを使わない。npmで入れる場合はNode.js 22以上が必要とされている。Claude Code本体のためにNode.jsを急いで上げる必要はないが、ほかの用途のNode.jsは別に上げる |
| npx などで動かすMCPサーバー | PCやサーバーのNode.jsで動くので、更新の対象。設定ファイルに書いたMCPサーバーが、どのNode.jsで動いているかを確かめる |
| Node.jsで書いた社内のAIエージェント・ボット | 更新の対象。外部のURLの内容を取りに行く処理を持つものは、特に早めに上げる |
外部の内容を取りに行く処理を優先したい理由は、Node.jsの fetch() が、Brotliで圧縮された応答を自動で展開する作りだからです。2024年にも、この自動の展開が原因で、信頼できないURLから取得すると資源を使い果たして落ちるおそれのある問題(CVE-2024-22025)が直されています。今回のCVE-2026-111497について、公式は攻撃の経路を詳しく書いていません。それでも、Web検索や外部のページの取得をするAIエージェントは、信頼できない相手のデータを日常的に受け取る作りなので、更新の順番を前にしておくと安心です。
すぐ更新できないときの考え方
今回の公式の告知には、PHPのときのような「設定で一時的に避ける方法」は載っていません。対策は、修正版への更新です。
どうしてもすぐ上げられない場合は、被害を広げない工夫を先に入れます。たとえば、外部のURLを取りに行く処理を一時的に止める、信頼できる相手にだけつなぐ、Node.jsのプロセスを権限の小さい利用者で動かす、といった形です。ただし、これらは更新の代わりにはなりません。更新できる見込みの日を決めて、それまでのつなぎとして扱ってください。
侵入が疑われる場合の確かめ方と、バックアップから戻すときの考え方は、PHPの緊急脆弱性の記事の「入られていないかの確かめ方」「戻せるか」の節がそのまま使えます。中小企業の守り方の全体像は、AIサイバー攻撃とは|中小企業の防御5手でも整理しています。
この記事の内容を社内で使うなら
要点と手順をまとめた資料を無料で受け取れます。研修6,000名以上・支援100社以上の実績をもとに、自社の業務に当てはめる相談も30分から受け付けています。
同じ日に出たPHPの緊急の脆弱性との違い
10月21日は、PHPとNode.jsの更新が同じ日に重なりました。急ぐ順番を決めるときの目安として、違いを並べておきます。

| 項目 | PHP(CVE-2026-109618/109619) | Node.js(10月21日の更新) |
|---|---|---|
| 最も重い深刻度 | 緊急(CVSS v4.0 で9.2) | 高(HIGH) |
| 外からプログラムを実行されるおそれ | あり。mod_phpでは、認証なしのリクエストでアプリより前に成り立つことが確認されている | あり(Brotliの展開の不具合)。公式は攻撃の経路を詳しく書いていない |
| 修正版 | 8.5.12・8.4.27・8.3.36・8.2.35 | 26.12.1・24.22.1・22.23.4 |
| 公式の一時対策 | あり(ただし完全ではない) | 告知には無い |
どちらも更新が基本です。WordPressなどPHPで動く公開サイトを持っているなら、まずPHPを。Node.jsで動くWebサービスやAIエージェントを持っているなら、同じ日のうちにNode.jsも上げてください。
よくある質問
Q. Claude Codeを使っています。Node.jsを更新しないといけませんか?
A. Claude Code本体は、公式ドキュメントによると実行時にPCのNode.jsを使いません。そのため、Claude Code本体のために急ぐ必要はありません。ただし、npxなどで動かしているMCPサーバーや、ほかの用途のNode.jsは更新の対象です。
Q. 20系のNode.jsを使っています。どうすればよいですか?
A. 20系は2026年4月30日にサポートが終わっていて、今回の修正は出ません。22系か24系への移行を急いでください。移行までの間は、外部の信頼できないデータを受け取る処理を減らすなど、被害を広げない工夫を入れます。
Q. Dockerのコンテナで動かしています。何をすればよいですか?
A. ベースイメージを修正版のNode.jsが入ったものに替えて、イメージを作り直し、デプロイし直します。作り直すまで、動いているコンテナは古い版のままです。
Q. Homebrewで更新しても、修正版になりません。
A. Homebrewや各ディストリビューションのパッケージは、公式より遅れて修正版が届くことがあります。急ぐ場合は、公式の配布物かnvmなどのバージョン管理の道具から入れてください。
Q. この脆弱性を狙った攻撃は、もう起きていますか?
A. 10月21日の公式の告知には、悪用の有無についての記載はありません。最新の状況は、Node.jsの公式の告知とIPA・JPCERT/CCの情報で確かめてください。
まとめ:今日やる3つのこと
- サーバー・コンテナ・CI・開発機で
node -vを実行し、22.23.4・24.22.1・26.12.1 以降かを確かめる。 - 足りなければ更新する。コンテナは作り直してデプロイし直し、20系以前は移行の時期を決める。
- MCPサーバーや社内のAIエージェントが、どのNode.jsで動いているかを確かめ、外部の内容を取りに行くものから先に上げる。
次に同じような緊急の更新が出た日の動き方は、WordPressの脆弱性対応|緊急の更新が出た日に最初にやることに5段でまとめています。
AIの時代の攻撃も含めて、自社のシステムにどんな穴がありうるかを一通り点検したい方は、事例集と自社点検シートをまとめた「AIエージェント時代のサイバー攻撃 事例集と自社点検シート」も使ってください。
参考・出典
- Wednesday, October 21, 2026 Security Releases — The Node.js Project(参照日:2026-10-22)
- Node.js Release schedule(schedule.json) — nodejs/Release(GitHub)(参照日:2026-10-22)
- Node.js のリリース一覧(dist/index.json) — nodejs.org(参照日:2026-10-22)
- Advanced setup(Claude Code) — Anthropic(参照日:2026-10-22)
- CVE-2024-22025 — NVD(参照日:2026-10-22)
この記事の内容を社内展開する方へ: 部門別 AIエージェント活用マップ 50選(無料・PDF 32ページ+Excel) をダウンロードできます。




