Node.jsに脆弱性、セキュリティ修正版を公開 26.x・24.x・22.xが対象

Node.jsに脆弱性、修正版を公開

JavaScriptの実行環境「Node.js」の開発チームは、2026年10月21日(水)19時38分(日本時間)、26.x・24.x・22.xの3つのラインで見つかった脆弱性を直す、セキュリティ修正版を公開しました。新しい版は26.12.1、24.22.1、22.23.4です。事前のお知らせによると、今回直した問題のうち最も深刻なものは、どのラインでもHIGH(高)です。サポートが終わった古い版(EOL)は、セキュリティリリースのたびに必ず影響を受けるとしています。

この記事の要点

  • Node.jsが10月21日19時38分(日本時間)に、26.12.1、24.22.1、22.23.4を公開しました。いずれもセキュリティリリースで、最も深刻な問題はHIGH(高)です。
  • 直したCVEは、26.x系が10件、24.x系が7件、22.x系が6件です。TLS、DNS、HTTP、暗号(crypto)、Brotliの展開処理、パーミッションモデルなどにかかわるものです。
  • サポートが終わった20.xや25.xなどには修正版が出ません。公式は、サポート中の版を使うよう呼びかけています。
  • Next.jsなどでサイトやツールを作っている人、Node.jsでAPIやボットを動かしている人に関係します。ふつうのWordPressサイトは、通常Node.jsを使いません。
  • 使っている版を確かめて、26.12.1、24.22.1、22.23.4のいずれかに更新しましょう。EOLの版を使っている場合は、サポート中のラインへの移行が必要です。
目次

何が出たか

項目内容
公開日時2026年10月21日(水)19時38分(日本時間)
新しい版26.12.1(Current)、24.22.1(LTS「Krypton」)、22.23.4(LTS「Jod」)
最も深刻な問題26.x・24.x・22.xのどのラインでもHIGH(高)
直したCVEの数26.x系 10件/24.x系 7件/22.x系 6件
EOLの版セキュリティリリースのたびに必ず影響を受ける。修正版は出ない

事前のお知らせは10月14日に出ていて、「10月21日かその直後に新しい版を出す」と予告されていました。版ごとの変更点は、GitHubのリリースノート(26.12.1、24.22.1、22.23.4)に載っています。

直された問題

リリースノートに載っているCVEと、その修正の説明を整理しました。「公式の説明」はリリースノートの英語の表記のままです。深刻度は、26.12.1のリリースノートの表記です(24.22.1と22.23.4のリリースノートには、項目ごとの深刻度は書かれていません)。

CVE公式の説明内容深刻度26.x24.x22.x
CVE-2026-106069
CVE-2026-106072
tls: reject non-canonical IP addressesTLSで、標準的でない書き方のIPアドレスを受け付けないようにするHigh○○(106069のみ)○(106069のみ)
CVE-2026-105482dns: validate resolve inputs for null bytesDNSの名前解決で、入力にヌル文字が入っていないか確かめるHigh○○○
CVE-2026-105483tls: fix ip normalization regressionTLSでのIPアドレスの正規化で起きていた不具合(リグレッション)を直すHigh○○-
CVE-2026-111497src: expose BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH
deps: brotli: cherry-pick 0ed4268a4401abcb44720963
圧縮形式Brotliの展開処理にかかわる修正High○○○
CVE-2026-105481http: ensure agent data guard works without I/OHTTPのエージェントのデータを守る仕組みが、I/Oがなくても働くようにするMedium○○○
CVE-2026-106074crypto: reset random caches across snapshots暗号(crypto)で、スナップショットをまたいで乱数のキャッシュをリセットするMedium○○○
CVE-2026-106070zlib: avoid caching invalid ZIP local headerszlibで、不正なZIPのローカルヘッダーをキャッシュしないようにするLow○--
CVE-2026-106071src: fix the fs permission tree node on wildcard nodesパーミッションモデルで、ワイルドカードを使ったファイルの権限の扱いを直すLow○--
CVE-2026-106073permission: check permission model in realpathSyncrealpathSyncでも、パーミッションモデルの確認をするようにするLow○○○

このほか、ルート証明書の更新(NSS 3.131.1)や、c-ares 1.34.9への更新なども入っています。24.22.1と22.23.4では、OpenSSLを3.5.9に、undiciをそれぞれ7.30.1、6.29.1に更新しました。

それぞれの問題がどんな条件で悪用されうるのか、どんな影響があるのかといった詳しい説明は、10月21日20時半の時点で、Node.jsのお知らせのページにはまだ載っていません。

対象の版と更新先

ライン状態(公式のリリーススケジュール)更新先
26.xCurrent。10月28日にLTSになる予定26.12.1
24.xLTS(Krypton)。10月20日からメンテナンスLTS。サポートは2028年4月30日まで24.22.1
22.xLTS(Jod)。メンテナンスLTS。サポートは2027年4月30日まで22.23.4
25.x2026年6月1日にサポート終了(EOL)修正版なし。サポート中のラインへ移行
20.x2026年4月30日にサポート終了(EOL)修正版なし。サポート中のラインへ移行
18.x以前、23.x、21.xサポート終了(EOL)修正版なし。サポート中のラインへ移行

誰に関係するか

  • Next.jsなど、Node.jsで動くフレームワークでサイトやツールを作っている人
  • Node.jsでAPIサーバーやボット、定期的に動かすスクリプトなどを動かしている人
  • 自分のパソコンや開発用のサーバー、CI(自動テストなどの仕組み)、Dockerのイメージで、Node.jsを入れている人

ふつうのWordPressサイトは、サーバーで動かすのにNode.jsを使わないことがほとんどです。WordPressのサイトを運営している人は、同じ日に公表されたPHPの重大な脆弱性への対応を先に確かめてください(PHPの脆弱性の記事)。

読者がすること

することやり方
使っている版を確かめるターミナルで node -v を実行する。サーバーやCI、Dockerのイメージで指定している版も確かめる
修正版に更新する26.x系なら26.12.1、24.x系なら24.22.1、22.x系なら22.23.4以上にする。公式のダウンロードページや、ふだん使っているインストールの方法(バージョン管理ツールなど)で入れ直す
EOLの版から移行する20.xや25.xなど、サポートが終わった版には修正版が出ない。24.xや26.xなど、サポート中のラインに移す
ホスティングサービスを確かめるサービスの設定画面でNode.jsの版を選んでいる場合は、そのサービスの案内で、選べる版や更新の方法を確かめる

今後の予定

Node.jsは、それぞれの問題の詳しい説明を公開していません。お知らせのページが更新されたら、この記事に追記します。

出典

目次