Node.js 24.22.1(2026年10月のセキュリティ更新)のまま使っている人は、それが最新ではありません。まず node -v でバージョンを確かめ、24.xなら24.22.3、22.xなら22.23.5、26.xなら26.13.1へ上げてください。
- サポートが終わったバージョンは、セキュリティリリースのたびに影響を受ける、と公式は案内しています。公式のリリース一覧では、22・24・26がLTS、20以前はEOL(サポート終了)と表示されています
- HTTP/2やHTTPSを使っているサーバー・アプリは、今回の高い深刻度の項目の対象になり得ます。平文のHTTP(
node:http)は、CVE-2026-123864の対象外と書かれています - 10月の更新(24.22.1・22.23.4・26.12.1)の内容は、10月のセキュリティ更新の記事を見てください
Node.jsプロジェクトは2026年11月11日(水)、22.x・24.x・26.xのセキュリティリリースを公開しました。直ったバージョンは、Node.js 22.23.5(LTS、Jod)、24.22.3(LTS、Krypton)、26.13.1(LTS、Lithium)です。公式は、各系列で直ったいちばん高い深刻度はHIGHだとしています。
11月12日6時46分(日本時間)時点の、Node.jsの11月のセキュリティリリース案内と、各バージョンのリリースノート、Node.js Releases(リリース一覧)にもとづく内容です。
直ったバージョン
| 系列 | 直ったバージョン | リリースノート |
|---|---|---|
| 26.x(LTS、Lithium) | 26.13.1 | v26.13.1 |
| 24.x(LTS、Krypton) | 24.22.3 | v24.22.3 |
| 22.x(LTS、Jod) | 22.23.5 | v22.23.5 |
24.22.3と26.13.1のリリースノートでは、HighはCVE番号として7件です(表示は9行で、CVE-2026-123872が3行に分かれています)。Mediumは6件、Lowは3件です。22.23.5のリリースノートでは、HighはCVE番号として6件です(表示は8行です)。Mediumは6件、Lowは3件です。22.23.5のリリースノートには、CVE-2026-126051は載っていません。
依存関係の更新として、各リリースノートのNotable Changesには、llhttp 9.4.4(22.x・24.x・26.x)が載っています。sqlite 3.54.1は、22.x・24.x・26.xのリリースノートに載っています。セキュリティリリース案内の依存関係の節では、sqliteの対象は22.xと24.xと書かれています。brotli 1.2.1は24.xと26.xに、undiciは24.xが7.30.2、26.xが8.12.4と載っています。22.xのNotable Changesには、brotliとundiciの行はありません。
どんな問題が直ったのか
セキュリティリリース案内に載っている、高い深刻度(high)の主な内容は次のとおりです。影響を受ける系列は、案内のImpact欄に書かれている範囲です。
- CVE-2026-123863(high):HTTP/2で、認証していない相手がサーバーを停止させられる。対象は24.xと26.x
- CVE-2026-123864(high):HTTPSで、認証していない相手が、ほかの接続のメモリ(TLSの秘密鍵やほかの利用者のリクエストを含む)を読める。平文の
node:httpは対象外。対象は22.x・24.x・26.x - CVE-2026-123865(high):HTTP/2で、認証していない相手がサーバーのメモリとファイル記述子を使い続けられる。対象は22.x・24.x・26.x
- CVE-2026-123866(high):HTTP/2の処理の解放後使用で、応答のメモリが相手に渡る可能性がある。対象は22.x・24.x・26.x
- CVE-2026-126051(high):TLSサーバーの処理で、認証していない相手がプロセスを終了させられる。対象は24.xと26.x
- CVE-2026-123872(high):TLS 1.2の再交渉などで、クライアント証明書による認証を回避できる。対象は22.x・24.x・26.x
- CVE-2026-123874(high):HTTP/2の
respondWithFile()またはrespondWithFD()を使っているとき、認証していない相手がサーバーのメモリを壊せる。対象は24.xと26.x
22.23.5のリリースノートには、CVE-2026-123863とCVE-2026-123874もHighとして載っています。一方、同じ日のセキュリティリリース案内のImpact欄では、この2件の対象は24.xと26.xと書かれています。22.xを使っている人は、公式が直ったバージョンとして出している22.23.5へ上げてください。
MediumとLowの項目も、案内と各リリースノートに載っています。案内にはCVE-2026-106071(low、Permission Model)もあります。各リリースノートのLowには、案内にないCVE-2026-123873(permission)も載っています。
上げ方
いまのバージョンは、次で確かめられます。
node -v
公式のファイルは、24.22.3、22.23.5、26.13.1の各リリースノートに載っているダウンロード先、またはNode.jsのDownloadsから入手できます。公式のリリース一覧は、インストール方法の一例としてnvmにも触れています。nvmを使っている場合の例は、次のとおりです(24.xの場合)。
nvm install 24.22.3
nvm alias default 24.22.3
node -v
一時的に切り替えるだけなら、次でも構いません。
nvm install 24.22.3
nvm use 24.22.3
node -v
22.xなら22.23.5、26.xなら26.13.1に読み替えてください。Docker公式イメージを使っている場合は、イメージのタグを直ったバージョンに合わせ、作り直すときに公式イメージを取り直してください。
FROM node:24.22.3
docker build --pull -t my-app .
docker run --rm --entrypoint node my-app -v
サーバーを管理するパソコンのウイルス対策も見直すなら、セキュリティソフトの比較で、更新料と使える台数を確かめられます。
よくある質問
10月に24.22.1へ上げました。まだそのままでよいですか?
最新ではありません。24.xなら24.22.3へ上げてください。10月の内容は、10月のセキュリティ更新の記事を見てください。
HTTPしか使っていません。対象外ですか?
CVE-2026-123864は、公式によると平文のnode:httpは対象外です。一方、HTTP/2の項目は、TLSでも平文でも対象になるものがあります。使っているプロトコルに応じて、案内の各項目を確かめたうえで、直ったバージョンへ上げてください。
20.xを使っています。修正は出ますか?
公式のリリース一覧では、20はEOL(サポート終了)です。セキュリティリリース案内は、サポートが終わったバージョンは、セキュリティリリースのたびに影響を受ける、としています。サポート中の22.x・24.x・26.xの直ったバージョンへ移してください。

コメント