コンテンツへスキップ

media AI活用の最前線

Node.jsの脆弱性(2026年11月)|22・24・26系の更新と今やること

Node.jsの脆弱性(2026年11月)|22・24・26系の更新と今やること

結論:Node.jsの脆弱性(2026年11月)は、Node.jsが米国時間の11月11日に公開した22系・24系・26系のセキュリティ更新で直った16件で、深刻度「高」が7件あります(2026年11月12日時点)。直った版は22.23.5・24.22.3・26.13.1です。

  • 要点1:16件の内訳は高7件・中6件・低3件です。HTTP/2のサーバーを外から止められる問題、条件が合うとHTTPSのサーバーでほかの接続のメモリ(TLSの秘密鍵を含む)を読まれうる問題、クライアント証明書による認証をすり抜けうる問題などが含まれます。
  • 要点2:24系と26系は16件すべて、22系は11件(高4件を含む)が対象です。20系以前と21・23・25系はサポートが終わっていて、修正版は出ません。
  • 要点3:告知に一時的な回避策は書かれていません。対策は修正版への更新と、動いているプロセスの再起動です。

対象読者:Node.jsでWebサービス・社内システム・APIを動かしている開発と運用の担当者、外注先に任せている会社の情報システムの担当者と経営者

読了後にできること:サーバー・Dockerのイメージ・CI・開発機で node -v を実行し、修正版より前なら上げて再起動する。

Node.jsは2026年11月11日(米国時間)、22系・24系・26系のセキュリティ更新を公開し、深刻度「高」7件を含む16件の脆弱性を直しました。HTTP/2(Webの通信の方式の1つ)・HTTPS・TLS(通信を暗号にして守る仕組み)を使うサーバーに関わる件が多く、対策は修正版の22.23.5・24.22.3・26.13.1へ上げることです。この記事は、2026年11月12日時点で公式の原文を確認した内容です。

例えば社内で「うちの版は対象?」「HTTP/2を使っていなければ関係ない?」と聞かれた時に答えられるよう、公式の告知・リリースノート・予定表をもとに、対象の版と今日の手順を整理します。

10月21日に出た前回の更新(22.23.4・24.22.1・26.12.1)は、10月の更新(Node.jsの脆弱性・2026年10月)にまとめています。今回の修正版は10月の修正版より後の版なので、10月に上げた環境も、もう一度上げる必要があります。

更新履歴

  • 2026年11月12日 公開

Node.jsが11月11日に公開したセキュリティ更新の内容

Node.jsの公式の告知(Wednesday, November 11, 2026 Security Releases)に載っている脆弱性は、次の16件です。CVE番号は脆弱性ごとに付く番号で、深刻度と対象の系列は告知の表記どおり、「何が起きるか」は告知の説明を短くまとめたものです。どの機能を使う時に当たるかは、後の「HTTP/2・HTTPS・TLSを使う所の確かめ方」の節に並べています。

CVE番号深刻度何が起きるか対象の系列
CVE-2026-123863高HTTP/2のサーバーを、認証のない相手が外から止められる(TLSでも平文でも)24・26
CVE-2026-123864高HTTPSのサーバーで、認証のない相手がほかの接続のメモリ(TLSの秘密鍵などを含む)を読める22・24・26
CVE-2026-123865高HTTP/2のサーバーで、メモリとファイル記述子(接続ごとに使う枠)が戻らないまま残り続ける22・24・26
CVE-2026-123866高HTTP/2で応答の途中にストリーム(1本の接続の中の個々のやり取り)が閉じられると、解放済みのメモリ(ほかの接続の応答を含む)が相手に送られうる22・24・26
CVE-2026-126051高TLSのサーバーを、認証のない相手が外から止められる24・26
CVE-2026-123872高ホスト名ごとにクライアント証明書の条件を変えたサーバーで、厳しい条件のホストに入られる22・24・26
CVE-2026-123874高HTTP/2でファイルを返すサーバーで、認証のない相手がサーバーのメモリを壊せる24・26
CVE-2026-123828中HTTP/2で、範囲の外への書き込みが起きてプロセスが止まる24・26
CVE-2026-123867中ホスト名ごとにクライアント証明書の認証局(CA)だけを分けた設定が効かず、守りたいホストに入られる22・24・26
CVE-2026-123868中HTTP/2のサーバーのメモリを、1本の接続で使い果たさせられる24・26
CVE-2026-123871中エラーの文にプロキシの認証情報がそのまま入り、ログなどに残りうる22・24・26
CVE-2026-123877中外へつなぐ側(https.Agent)で、証明書の確認をすり抜けうる22・24・26
CVE-2026-123875中HTTP/2でファイルを返すサーバーで、相手がダウンロードを取り消すとプロセスが止まる22・24・26
CVE-2026-123829低macOS・Windowsで、権限の仕組みの下でも、読む許可の無いファイルの名前が分かる(中身は分からない)22・24・26
CVE-2026-123862低圧縮して送る途中に相手が接続を切ると、プロセスが止まる(告知は、当たる使い方は珍しいとしている)22・24・26
CVE-2026-106071低権限の仕組みで、ワイルドカードの許可が、指定より短い名前のパスにも当たってしまう22・24・26

24系と26系は16件すべて、22系は11件(高4件・中4件・低3件)が対象です。告知によると、3つの系列とも、今回の修正で最も重い深刻度は「高」です。影響は主に、サーバーを止められる・メモリを使い果たさせられる・メモリを壊せる、ほかの接続のメモリが漏れうる、クライアント証明書(接続してくる側が出す証明書)による認証や証明書の確認をすり抜けうる、の3種類です。このほか、プロキシの認証情報がエラーの文に入りログに残りうる件(CVE-2026-123871)と、権限の仕組みが一部効かない件(CVE-2026-123829・106071)があります。

依存の部品では、llhttp(HTTPの中身を読み解く部品・22・24・26系)、undici(HTTPの通信の部品・24・26系)、sqlite(データベースの部品・告知の一覧では22・24系。26.13.1のリリースノートにも同じ版への更新が載っています)も、公開されている脆弱性への対処として更新されました。部品ごとのCVE番号は告知にもリリースノートにも書かれておらず、リリースノート(22.23.5・24.22.3・26.13.1)に載っている版は、llhttp 9.4.4、undici 7.30.2(24系)と8.12.4(26系)、sqlite 3.54.1です。

なお、CVE-2026-106071は10月21日の告知にも載っていた番号です。10月の告知では26系だけが対象で、今回の告知では22・24・26系が対象とされています。

対象の版(バージョン)と、更新後の版

修正版は3つの系列に出ています。系列ごとの今の段階とサポートの終わりは、Node.jsの公式のリリースの一覧と予定表(schedule.json)のとおりです。LTSは長期サポート(Long Term Support)の略で、Active LTSは長期サポートの中心の段階、Maintenance LTSはその後の保守の段階です。

Node.jsの系列ごとの対象と修正版。22系は11件が対象で修正版は22.23.5、24系は16件で24.22.3、26系は16件で26.13.1。20系以前と21・23・25系は修正なし

系列修正版今回の対象今の段階とサポートの終わり
26系26.13.116件(高7・中6・低3)Active LTS(2026年10月28日から)。サポートは2029年4月30日まで
24系24.22.316件(高7・中6・低3)Maintenance LTS(2026年10月20日から)。サポートは2028年4月30日まで
22系22.23.511件(高4・中4・低3)Maintenance LTS(2025年10月21日から)。サポートは2027年4月30日まで
20系以前・21系・23系・25系出ない告知は「サポートが終わった版は、セキュリティの更新のたびに必ず影響を受ける」としているサポート終了(20系は2026年4月30日、21系は2024年6月1日、23系は2025年6月1日、25系は2026年6月1日)

公式のリリースの一覧は、本番のアプリにはActive LTSかMaintenance LTSの版だけを使うよう書いています。27系は公式の一覧で「Alpha」(試しの段階)とされていて、今回の告知の系列には入っていません。

20系以前や21・23・25系を使い続けている場合、今回の修正は届きません。告知は、予定表にある新しい版を使うよう求めています。移す先は、今回の修正版が出た22・24・26系です。

10月21日の更新をまだ当てていない環境は、10月の告知に載ったBrotliの脆弱性(CVE-2026-111497)もあわせて確かめてください。Node.js以外の製品も含めた確かめ方は、Brotli脆弱性(HTTP2Shell)|更新対象と止め方にまとめています。

今日やること(版の確認から記録まで)

Node.jsは、サーバーだけでなく、Dockerのコンテナ・CI(テストや配備を自動で回す仕組み)・開発機・社内ツールの中にも入っていることが多いので、置き場所ごとに次の順で進めます。

今日やる5つの手順。版を確かめる(node -v)、更新する、再起動する、前後を確かめる、記録して伝える

  1. 版を確かめる:サーバー・開発機・CIで node -v を実行します。22系は22.23.5、24系は24.22.3、26系は26.13.1より前なら対象です。Dockerのイメージは、コンテナの中で同じ命令を実行して確かめます。
  2. 更新する:公式サイトのダウンロード(インストーラーなど)、nvmなどの版を切り替える道具、OSのパッケージのどれかで修正版を入れます。Dockerはベースイメージを取り直してイメージを作り直し、DockerfileやCIで版の番号を細かく決めている設定は修正版の番号に上げます。サーバーレスの実行環境や、製品に組み込まれたNode.jsは、提供元の更新の状況を確かめます。
  3. 再起動する:入れ替えた後も、動いているプロセスは再起動するまで古い版のまま動きます。コンテナは作り直したイメージでデプロイし直します。
  4. 前後を確かめる:手順1で見た上げる前の版を書き留めておき、上げた後にもう一度 node -v で修正版になったこと、HTTP/2やHTTPSの受け口がいつもどおり応答することを確かめます。
  5. 記録して伝える:どの機械を、いつ、どの版からどの版に上げたかを残し、社内と外注先に伝えます。外注先に任せている場合は、修正版の番号(22.23.5・24.22.3・26.13.1)を伝えて、いつ上げるかの返事をもらいます。

公式のDownloadのページは、nvmで入れる場合に nvm install 26 の後、node -v で「v26.13.1」と出ることを確かめる手順を示しています。ページの版の欄で22系・24系を選ぶと nvm install 22・nvm install 24 の手順が出るので、今の系列のまま上げる時はそちらを使います。修正版の届き具合は入れ方で違い、2026年11月12日13時17分(日本時間)の時点で、Docker Hubの公式イメージ(node)は node:22・node:24・node:26・node:lts のタグが、それぞれ修正版と同じ中身を指していました。一方、Homebrewの node(26系)は、13時17分の時点では26.13.0のままでしたが、同じ日の14時23分(日本時間)には26.13.1になっていました。node@24(24.22.3)と node@22(22.23.5)は13時17分の時点で修正版でした。Homebrewで入れたMacも、上げた後に node -v で修正版になったことを確かめます。

この記事の順番(版を確かめる→更新する→再起動する→前後を確かめる→記録して伝える)を、自社のサーバーとサイトに当てはめて使う様式をまとめました。緊急の脆弱性が出た日の対応キットを受け取る

HTTP/2・HTTPS・TLSを使う所の確かめ方

この記事では16件を、使っている機能で3つに分けました。HTTP/2(Webの通信の方式の1つ)のサーバーが7件、HTTPS・TLS(通信を暗号にして守る仕組み)が5件、そのほかが4件です。どこから上げるかを決める時に使ってください。条件は告知の書き方に沿っています。

16件を使う機能で分けた図。HTTP/2のサーバーが7件(ファイルを返す処理も含む)、HTTPS・TLSが5件(クライアント証明書も含む)、そのほかが4件(プロキシ・権限・圧縮)。どこから上げるかを決めるのに使う

区分当たる件告知が書いている条件
HTTP/2のサーバーCVE-2026-123863・123865既定の設定のHTTP/2サーバーで起きうる。123863は、本文を受け取り終える前に応答するハンドラー(リクエストを処理する関数)で起き、告知はこれを「よくある形」としている
HTTP/2のサーバーCVE-2026-12386624・26系は26.9.0・24.22.0の変更以降、相手の操作だけで起きうる。どの系列でも、ストリームごとのタイムアウトなど、アプリ側の切断で起きうる
HTTP/2のサーバーCVE-2026-123868読み出されずにたまったデータが maxSessionMemory の上限に数えられない
HTTP/2のサーバーCVE-2026-123874・123875stream.respondWithFile() か stream.respondWithFD() でファイルを返す時
HTTP/2のサーバーCVE-2026-123828相手から届いた値(:authority など)を altsvc() に渡す時
HTTPS・TLSCVE-2026-123864HTTPSのサーバーで、本文を受け取り終える前に res.flushHeaders() を呼び、後で res.end() に中身を渡すハンドラーがある時。漏れた中身を読むには、受け取った本文を返すか保存する道が要る。平文の node:http は対象外
HTTPS・TLSCVE-2026-126051TLSのサーバーで SNICallback・OCSPRequest・newSession・resumeSession のどれか、または server.addContext() を使う時
HTTPS・TLSCVE-2026-123872・123867ホスト名ごとにクライアント証明書の条件や認証局を分けている時(123872はTLS 1.2の再ネゴシエーション=接続の途中で暗号の取り決めをやり直す仕組みを使う)
HTTPS・TLSCVE-2026-123877外へつなぐ側の https.Agent で、ca を省いた接続と ca: [] を指定した接続がまざる時
そのほかCVE-2026-123871プロキシの設定に誤りがあり、エラーの文が出る時。告知は出る先に、標準エラー出力・コンテナのログ・ログの集約・クラッシュの報告を挙げている
そのほかCVE-2026-123829・106071権限の仕組み(--permission・--allow-fs-read など)を使う時。123829はmacOS・Windowsで、フォルダの下をまとめて見張る fs.watch()・fs.promises.watch()(recursive)を使い、見張る場所にほかの者がファイルを作る時。106071はワイルドカードの許可が、権限の木の根のすぐ下にある時(その範囲の許可がそれ1つだけの時など)
そのほかCVE-2026-123862圧縮して送る途中で deflate.params() を呼ぶ時

表を読む時は、次の3点を押さえておきます。

  • 高の7件のうち5件(123863・123864・123865・126051・123874)は、告知が「認証のない相手(unauthenticated)」が起こせると書いています。外からの接続を受けるサーバーから先に上げます。
  • 自分のコードで表の機能を使っていなくても、使っているライブラリの中で使われていることがあります。「使っていないから安全」とは決めないでください。
  • nginxなどのリバースプロキシ(手前で接続を受けて中継する仕組み)の後ろなら避けられる、とは告知に書かれていません。一時的に避ける方法も、告知には書かれていません。

AIツールを使う会社が確かめること

AIエージェントやMCPサーバー(AIに外部の道具やデータをつなぐ仕組み)を使う会社では、どの道具がNode.jsで動いているかが見えにくくなりがちです。各製品の公式の文書で確かめた範囲(2026年11月12日)では、次のとおりです。

AIに渡す時の読むだけの形。人が命令を打つ(node -v)、出力をAIに渡す、対象の表を作る、人が承認して更新。.envは読ませない

道具Node.jsの更新との関係
Claude Code本体公式の文書によると、npmで入れる場合はNode.js 22以上が要りますが、入るのはネイティブの実行ファイルで、実行時にNode.jsを呼び出しません。本体のために急ぐ必要はありませんが、同じ機械のほかの用途のNode.jsは別に上げます
npxなどで起動するMCPサーバーClaude CodeのMCPの文書では、npx などの起動の命令で足したMCPサーバーは、手元の機械のプロセスとして動きます。npx はNode.jsと一緒に入るnpmの命令なので、その機械のNode.jsで動き、更新の対象です
Node.jsで書いた社内のAIエージェント・ボット更新の対象です。HTTP/2・HTTPSで外からの接続を受けるものは、前の節の表で当たる件を確かめます

まず人が命令を打ち、その出力をAIに渡す

版を確かめる命令は、まず担当者が打ち、その出力をAIに渡して整理させます。読むだけの命令は次のとおりで、どれも公式の文書に載っています。

確かめる所打つ命令(読むだけ)載っている文書
PC・サーバーのNode.jsnode -v(node --version も同じ)Node.jsのDownloadのページ・コマンドラインの文書
Dockerのイメージdocker run -it --rm --entrypoint sh イメージ名 で中に入り、node -vNode.jsのDownloadのページ(Dockerの手順)
Claude Codeに足したMCPサーバーclaude mcp list(足したサーバーの一覧と、つながるかどうかの状態が出ます。状態を出すために、承認済みで有効なサーバーにはつないで確かめます)Claude CodeのMCPの文書

出力をAIに渡す時の指示文の例です。

次の出力は、社内のPC・サーバー・コンテナで node -v を実行した結果です。
Node.jsの2026年11月の修正版は 22.23.5・24.22.3・26.13.1 です。
20系以前と21・23・25系はサポートが終わっていて修正版が無いので、これも対象の版として扱って。
この出力から、対象の版に当たる物と場所を表にして。直し方の案は書いてよいが、命令は実行しない。
分からない所は推測で埋めず「不明」と書いてください。

AIに直接打たせるなら、設定で止める

指示文に「読むだけにして」と書いても、それだけでは読むだけになりません。AIに直接命令を打たせる場合は、公式の設定で止めます。

Claude Code:設定ファイル(settings.json)の permissions の deny に、ファイルの書き換えを止める Edit と、.envを読ませない Read(./.env)・Read(./.env.*) を入れます。この書き方は作業フォルダの直下の.envだけに当たります。公式の文書によると、Read(.env) と書くと作業フォルダとその下のどの階層の.envにも当たるので、下の階層も止めるならこちらを足します。鍵を置いたフォルダも、文書の例の Read(./secrets/**) のように場所を指定して足します(TLSの秘密鍵などを置いた自社のフォルダに合わせます。作業フォルダの外の場所は、文書の決まりで // から始まる書き方にします)。

{
  "permissions": {
    "deny": [
      "Edit",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  }
}

ただし同じ文書は、deny のルールはNode.jsやPythonのスクリプトが自分で開くファイルには効かないとして、どのプロセスからもそのファイルを読み書きさせないようにするには、サンドボックス(OSの仕組みで命令の読み書きの範囲を囲う機能)を有効にするよう案内しています。

また、この deny が止めるのはファイルの書き換えと、指定した場所の読み込みで、更新や再起動の命令を打つこと自体は止めません。文書によると、Manual のモード(設定の値は default)では、読むだけの一部の命令と、allow のルールや「Yes, and don’t ask again」で許した命令を除いて、命令を実行する前に確認を求めます。auto のモードでは人の代わりに判定の仕組みが確かめ、bypassPermissions のモードでは確認を省くので、命令ごとに人が確かめるなら Manual のモードで動かします。ただし同じ文書によると、上のサンドボックスを有効にして autoAllowBashIfSandboxed を既定の true のままにすると、サンドボックスの中で動く命令は確認なしで実行されます。サンドボックスと命令ごとの確認を両方使う時は、サンドボックスの文書のとおり、この設定を false にします。

Codex:codex --sandbox read-only --ask-for-approval on-request(設定ファイルでは sandbox_mode = "read-only" と approval_policy = "on-request")で、読むだけの形にできます。公式の文書によると、この形でも読める場所のファイルは読めます。

.envや鍵、トークンは、AIに「表示しないで」と頼んでも、読んだ中身はモデルに送られます。設定で読ませないか、置いていない場所で動かしてください。本番の機械で動かすなら、書き込みの権限の無いアカウントを使います。また、修正前の版でプロキシの設定のエラーが出ていた機械では、ログにプロキシの認証情報が残っていることがあります(CVE-2026-123871)。そのログをAIに渡す前に、人が中身を確かめます。更新・再起動・設定の変更は、AIの出力を人が見て承認してから行います。

なお、今回の告知の謝辞には、16件のうち5件に「Chris Rohlf in collaboration with Claude and Anthropic Research」と書かれています。Claudeをどう使ったかは、告知には書かれていません。

この記事の内容を社内で使うなら

要点と手順をまとめた資料を無料で受け取れます。研修6,000名以上・支援100社以上の実績をもとに、自社の業務に当てはめる相談も30分から受け付けています。

PHP・WordPress・Node.js 緊急の脆弱性が出た日の対応キット無料で受け取る →AI顧問に相談する(30分・無料)→

すぐ更新できないときの考え方

今回の告知には、設定で一時的に避ける方法は書かれていません。対策は修正版への更新です。

ここから先は告知の手順ではなく、一般的な考え方です。すぐに上げられない機械があるなら、外からの接続を受けるサーバー(HTTP/2・HTTPS・TLS)を先にし、社内だけで使う道具や開発機を後にする順番を決めます。止めると困る本番は、別の環境で修正版を一度動かしてから入れ替えると、当日の切り替えを短くできます。上げる見込みの日を記録し、それまではプロセスの落ち方やメモリの増え方をいつもより気にかけておきます。どれも更新の代わりにはなりません。

20系以前と21・23・25系のように修正版が出ない系列は、移す時期を今日決めます。告知のページには、Maintenance LTSの期間を過ぎた版の商用サポートを、OpenJS Ecosystem Sustainability Programのパートナーから受けられる、という案内も載っています。

入られていないかの確かめ方と、戻せるか

更新で止められるのは、これから先の攻撃です。修正前の版で動いていた期間(11月11日の公開より前も含めて、自分の環境を上げるまで)に何も起きていないかは、ログが残っている範囲で別に確かめます。

入られていないかの確かめ(プロセスが落ちていないか、メモリと接続の増え方、証明書とトークンの入れ替え、ログの認証情報)と、戻せるか(証拠を残す、修正版から作り直す、戻したらすぐ修正版へ)

公式の告知に書かれていること

告知には、悪用の有無と、攻撃を受けた跡の見分け方(ログに残る文字列など)は書かれていません(2026年11月12日時点)。告知が書いているのは、プロセスが止まる、メモリや接続が戻らない、ほかの接続のメモリが漏れる、サーバーのメモリが壊される、認証や証明書の確認をすり抜ける、エラーの文にプロキシの認証情報が出る、権限の仕組みが一部効かない、といった結果です。

告知の結果から考える確かめ方

次は公式の手順ではなく、告知が書いている結果から逆にたどる、一般的な確かめ方です。

  • プロセスが落ちていないか:修正前の期間に、Node.jsのプロセスが予期せず終わった、再起動を繰り返した、という記録が無いかを、プロセスの管理の道具の記録やコンテナの再起動の回数で見ます。
  • メモリと接続が増え続けていないか:HTTP/2のサーバーで、メモリの使用量が下がらない、CLOSE_WAIT(相手が閉じたのにこちらが閉じていない状態)の接続が増えている、といった様子が無いかを見ます(告知のCVE-2026-123865の説明)。
  • 証明書とトークンを入れ替えるか決める:告知はCVE-2026-123864で、TLSの秘密鍵やほかの利用者のリクエストを含むメモリが読まれうるとしています。当たる作りのHTTPSのサーバーなら、証明書と秘密鍵、そのプロセスが扱うトークンを入れ替えるかを決めます。
  • ログに認証情報が出ていないか:CVE-2026-123871のエラーの文(ERR_PROXY_INVALID_CONFIG)がログに出ていないかを探し、出ていればプロキシのパスワードを変え、ログを集めている先での扱いも決めます。

これらの跡が見つからなくても、入られていないとは言い切れません。ログが残っていない期間がある場合は、その期間を記録しておきます。

戻せるか

  • 作り直す前に、証拠を残す:入られた疑いがあるときは、ログと、できればディスクやコンテナの状態を保存してから作業します。作り直すと跡が消えます。
  • 修正版から作り直す:コンテナは中を直すのではなく、修正版のNode.jsが入ったベースイメージからイメージを作り直し、デプロイし直します。
  • 戻したら、すぐ修正版へ:バックアップから修正前の版のまま戻すと、同じ穴が開いたままです。戻す手順は、本番の前に別の環境で一度試しておきます。

中小企業の守り方の全体像は、AIサイバー攻撃とは|中小企業の防御5手でも整理しています。

告知の読み取り・対象の洗い出し・手順の下書き・更新後の確認と記録をAIエージェントに任せ、本番の変更は担当者が承認して進める方法を、法人向けの6時間の研修にまとめています。脆弱性診断・侵入テスト・監視・事故対応の代行は含みません。AIエージェントで回す脆弱性対応研修(法人向け)

【要注意】11月の更新でよくある読み違い

読み違い1:「22系は今回は対象外」と考える

❌ 「24系と26系の更新が中心だから、22系は関係ない」

⭕ 22系も16件のうち11件(高4件を含む)が対象で、修正版の22.23.5が出ています。24・26系だけが対象なのは5件です。対象の系列は、告知の各項目の「Impact」の行で確かめます。

読み違い2:「HTTP/2を使っていなければ全部関係ない」と考える

❌ 「HTTP/2は使っていないから、今回は様子見でよい」

⭕ HTTP/2の件は7件で、残りの9件はHTTPS・TLSのサーバー、クライアント証明書、外へつなぐ https.Agent、プロキシの設定、権限の仕組み、圧縮の処理に関わります。使っていない機能があっても、修正版への更新は要ります。

読み違い3:「10月に上げたばかりなので今回は要らない」と考える

❌ 「10月21日の修正版に上げたから、しばらく大丈夫」

⭕ 10月の修正版(22.23.4・24.22.1・26.12.1)や、リリースの一覧でその後に出た24.22.2・26.13.0は、今回の修正版より前の版です。22.23.5・24.22.3・26.13.1以降に上げます。

読み違い4:「サポートが終わった版は今回の件と関係ない」と考える

❌ 「20系は今回の告知に載っていないから、影響を受けない」

⭕ 告知は「サポートが終わった版は、セキュリティの更新のたびに必ず影響を受ける」としています。20系以前と21・23・25系には修正版が出ないので、22・24・26系へ移します。

よくある質問

自分のNode.jsの版が対象かどうか、どう確認しますか?

node -v を実行し、22系なら22.23.5、24系なら24.22.3、26系なら26.13.1より前なら対象です。20系以前と21・23・25系はサポートが終わった系列で、修正版が出ないので移します。

Claude Codeを使っています。Node.jsを更新しないといけませんか?

Claude Code本体は、公式の文書によると実行時にNode.jsを呼び出しません。本体のために急ぐ必要はありませんが、npxなどで起動しているMCPサーバーや、同じ機械のほかの用途のNode.jsは更新の対象です。

Dockerのコンテナで動かしています。何をすればよいですか?

ベースイメージを取り直してイメージを作り直し、デプロイし直します。Dockerfileでベースイメージの版の番号まで指定している場合は、取り直しても同じ版のままなので、修正版の番号(22.23.5・24.22.3・26.13.1)に書き換えてから作り直します。作り直すまで、動いているコンテナは古い版のままです。

この脆弱性を狙った攻撃は、もう起きていますか?

11月11日の告知には、悪用の有無についての記載はありません。最新の状況は、Node.jsの公式の告知と、JPCERT/CC・IPAの情報で確かめてください。

リリースノートと告知で、CVE番号の一覧は同じですか?

一部が違います。3つの系列のリリースノートの主な変更(Notable Changes)の一覧には、告知に無いCVE-2026-123873(低・権限の仕組み)が載り、CVE-2026-106071は載っていません。また、22.23.5の一覧には、告知で24・26系だけが対象とされた番号も並んでいます。どの系列が対象かは告知の各項目の「Impact」の行で判断し、どの系列も修正版へ上げてください。

外注先に任せています。何を頼めばよいですか?

修正版の番号(22.23.5・24.22.3・26.13.1)と確かめてほしい場所(サーバー・コンテナ・CI)を伝え、いつ上げるかと、上げた後の node -v の結果を返してもらいます。HTTP/2・HTTPS・TLSのサーバーがあるかも聞くと、上げる順番を決めやすくなります。

まとめ:今日やる3つのこと

  1. サーバー・コンテナ・CI・開発機で node -v を実行し、22.23.5・24.22.3・26.13.1以降かを確かめる。
  2. 足りなければ修正版に上げて、動いているプロセスを再起動する。コンテナは作り直してデプロイし直し、20系以前と21・23・25系は移す時期を決める。
  3. HTTP/2・HTTPS・TLSで外からの接続を受けるサーバーから先に上げ、MCPサーバーや社内のAIエージェントがどのNode.jsで動いているかも確かめる。

次に同じような緊急の更新が出た日の動き方は、WordPressの脆弱性対応|緊急の更新が出た日に最初にやることにまとめています。

参考・出典

この記事の内容を社内展開する方へ: PHP・WordPress・Node.js 緊急の脆弱性が出た日の対応キット(無料・PDF 32ページ+Excel/Word) をダウンロードできます。

佐藤傑
この記事を書いた人 佐藤傑

株式会社Uravation 代表取締役CEO/生成AIエバンジェリスト。法人向けAI研修・コンサルティングを手がけ、日経・SBクリエイティブ・GMO等のメディアで生成AIについて執筆。

執筆・監修:佐藤傑/下書き・図版・機械検査:当社のAI社員(人が確認してから公開しています)。記事の作り方と検査の方針

この記事をシェア

Contact お問い合わせ

30分の無料相談では、いま時間を取られている業務を伺い、稼働中のAI社員62体の事例の画面と一緒に近い進め方をお見せします。
売り込みはしません。

Claude Code 個別指導(1対1・12セッション)をご希望の方はこちら、Codex 個別指導はこちらから別途お申し込みください

Claude Code 個別指導 無料相談