November 11, 2026

Node.jsの11月11日セキュリティリリースを実況する――公開前から攻撃の状況まで(随時⁠更⁠新⁠)

最新の状況(ニューヨーク時間 11月11日 13:00):セキュリティリリースは公開されました。修正版は22.23.5、24.22.3、26.13.1で、修正された脆弱性は16件です。悪用の報告は、確認できた範囲では、まだありま⁠せ⁠ん⁠。

Node.jsプロジェクトは、2026年11月11日(水)に、26.x、24.x、22.xの3系列のセキュリティリリースを公開しました。時刻は、すべてニューヨーク時間(東部標準時、日本時間の14時間前)⁠で⁠す⁠。

11⁠月⁠11⁠日 13:00 NY 修正版⁠の⁠公⁠開

セキュリティリリースは、ニューヨーク時間の11月11日11時44分ごろに公開されました(GitHubのリリースの時刻から)。修正版は、26.x系列が26.13.1、24.x系列が24.22.3、22.x系列が22.23.5です。Node.js公式ブログによると、修正された脆弱性は16件で、内訳はHighが7件、Mediumが6件、Lowが3件です。24.xと26.xはこの16件すべての影響を受け、22.xは16件のうち11件(Highが4件、Mediumが4件、Lowが3件)の影響を受けます。あわせて、依存しているllhttp、undici、sqliteの更新も含まれてい⁠ま⁠す⁠。

件数のうえで目立つのは、HTTP/2の欠陥です。HTTP/2の通信を受けるサーバーでは、認証していない相手から、プロセスを落とされたり(CVE-2026-123863、CVE-2026-123875ほか)、メモリやファイルディスクリプタを使い切るまで抱え込まされたり(CVE-2026-123865、CVE-2026-123868)、解放済みのメモリを相手に返してしまったり(CVE-2026-123866)、解放済みのメモリを使い回してメモリを壊されたり(CVE-2026-123874)します。HTTP/2のサーバーを直接公開しているなら、ここが最優先⁠で⁠す⁠。

最も気になるのは、HTTPSの欠陥(CVE-2026-123864)です。公式ブログによると、認証していない相手が、ほかの接続のメモリの中身を読み出せる可能性があり、TLSの秘密鍵や、ほかの利用者のリクエストも含まれうるとされています。ただし条件があります。まず、res.flushHeaders()を本文の受信が終わる前に呼び、あとでres.end()に中身のあるデータを渡すハンドラーがあること。さらに、受け取った本文を返したり保存したりする普通のルートがあること。暗号化していないnode:httpは影響を受けません。22.x、24.x、26.xのすべてが対象⁠で⁠す⁠。

そのほか、証明書を使った認証を回避される欠陥が、3件あります。TLS 1.2の再ネゴシエーションで、接続の途中にサーバー名を変えて、ホストごとに分けたクライアント証明書の制限をすり抜ける欠陥(CVE-2026-123872、High)。ホストごとのクライアント証明書の発行元を、証明書なしの設定で指定すると、既定の発行元に切り替わってしまう欠陥(CVE-2026-123867、Medium)。https.Agentが、CAの設定が違うリクエストの間でTLSセッションを使い回し、検証を通ってしまう欠陥(CVE-2026-123877、Medium)です。いずれも、ホストごとに認証の厳しさを変えているサーバーや、CAを使い分けているクライアントが対象で、普通のWebサーバーでは当たらない条件です。TLSサーバーが、SNICallbackなどのフックを使っているときに、遠隔からプロセスを落とされる欠陥(CVE-2026-126051、High)もあり⁠ま⁠す⁠。

悪用については、公式ブログにも、リリースノートにも、書かれていません。CISAが公開している悪用確認済みの脆弱性のカタログ(KEV)を、ニューヨーク時間の11月11日12時58分ごろに確認したところ、この16件はどれも載っていませんでした(取得できたデータは11月10日付のものです)。検索でも、悪用や攻撃用コードの公開を伝える報道は見つかりませんでした。公開から1時間ほどなので、「まだ報告がない」ということで、「安全」という意味ではありません。10月のBrotliの欠陥は、公開から5日後に攻撃の通信が観測されま⁠し⁠た⁠。

私見ですが、優先度は、自分のNode.jsがどう公開されているかで決まります。HTTP/2やHTTPSをNode.jsが直接受けているなら、早めに修正版へ上げてください。前段にリバースプロキシなどがあって、Node.jsにHTTP/2やTLSが直接届かない構成なら、影響は小さくなるはずですが、これは各自の構成で確かめる必要があります。10月の修正(22.23.4、24.22.1、26.12.1)を未適用なら、今回の版に上げれば、まとめて入ります。サポートが終わった20.xや25.xには、修正版が出ないので、サポートされている系列に移ってください。自分の版は node -v で確認できます。リリースはGitHubのリリースにも出てい⁠ま⁠す⁠。

11⁠月⁠11⁠日 10:20 NY 公開前⁠の⁠状⁠況

Node.jsは11月3日に、11月11日のセキュリティリリースの予告を出しました。対象は26.x、24.x、22.xの3系列で、どの系列でも、最も重い問題は「High」です。公開は「11日、またはその直後」とされています。予告には、脆弱性の件数も、番号も、中身も、修正版も、書かれていません。悪用されているかどうかも、書かれていません。予告のページは、11月3日から更新されていません(ニューヨーク時間の11月11日10時20分ごろに、私が確⁠認⁠)⁠。

予告に書かれている点がもう一つあります。サポートが終わった版は、セキュリティリリースのたびに、必ず影響を受けるものとして扱われます。そして修正版は出ません。20.xや25.xを使っているなら、今回の中身にかかわらず、サポートされている系列へ移る必要があり⁠ま⁠す⁠。

前回、10月21日のリリースは、10件でした(Highが4件、Mediumが3件、Lowが3件。Node.js公式ブログ)。今回の件数は分かりません。「最も重いものがHigh」という点は、前回と同じ⁠で⁠す⁠。

先にやっておけることが、一つあります。10月の修正版(22.23.4、24.22.1、26.12.1)を、まだ当てていないなら、明日の版を待たずに、そこまで上げておくことをお勧めします。10月の修正に含まれるBrotliの欠陥(CVE-2026-111497)は、すでに悪用されているからです。米国のCISAは、この欠陥を10月27日に「悪用が確認された脆弱性」のカタログ(KEV)に加えていて、連邦機関の対応期限は11月10日でした(CISAのデータを、私が直接確認)。更新が2回になる手間より、悪用が確認された欠陥を、さらに1日放置するリスクのほうが大きい、というのが私の考え⁠で⁠す⁠。

10⁠月の経緯 悪用済みのBrotl⁠i⁠欠⁠陥

10月21日、Node.jsは10件の脆弱性を修正しました。最も重大なのは、Brotliというデータ圧縮のデコーダにある、範囲外書き込みの欠陥(CVE-2026-111497、通称Node2Shell)です。細工されたデータを展開させられると、コードの実行につながりうるとされてい⁠ま⁠す⁠。

攻撃の通信は、10月26日にELLIOが観測したと報告し(Help Net Security)、CISAが10月27日にKEVへ加えました。Cloudflareも、Zero Wireの項目で、「要対応」に分類しています。原因はNode.jsが同梱しているBrotliなので、影響はNode.jsにとどまらず、.NETやPalo AltoのPAN-OSなどにも及んでい⁠ま⁠す⁠。

どこを確認すればよいかは、Brotliの欠陥はNode.jsだけの問題ではない、という記事に、10件すべての内容と更新の手順は、Node.jsの脆弱性10件のエンジニア向けまとめに書いています。更新を続けていく考え方は、連載4本目のソフトウェアを最新に保つにまとめてい⁠ま⁠す⁠。

無料セキュリティ相談を⁠受⁠付⁠中

ただいま、セキュリティについての無料相談を受け付けています。「自社のサイトは大丈夫か」「何から確認すればよいか」など、お気軽にご相談ください。

Super Sonic DesignではWebサイトの制作やアプリのデザインなどのご相談を承っております。どうぞお気軽にお問い合わせください。
お問い合わせ
他の最新記事
カテゴリー