Node.js 2026年7月のパッチで11件の脆弱性を修正(CVE-2026-56846,CVE-2026-56848)等

セキュリティニュース

投稿日時: 更新日時:

Node.js 2026年7月のパッチで11件の脆弱性を修正(CVE-2026-56846,CVE-2026-56848)等

Node.jsプロジェクトは2026年7月29日(当初予定から2日延期)、22.x・24.x・26.xの全アクティブリリースラインに対するセキュリティアップデートを公開しました。今回のリリースでは11件の脆弱性が修正されており、最高深刻度はHigh(高)です。High評価の脆弱性は3件あり、HTTP/2のリモートメモリ枯渇・heap-use-after-free、そしてPermission Modelのファイルシステムアクセス過剰許可が含まれます。依存ライブラリのundiciとllhttpについても既知の脆弱性に対処するバージョンが同梱されています。

Node.js 2026年7月セキュリティリリース(11件)のサマリー

  • 2026年7月29日、Node.js v22.23.2・v24.18.1・v26.5.1をリリース
  • 修正された脆弱性:High 3件・Medium 5件・Low 3件の計11件
  • HTTP/2に2件のHigh(リモートメモリ枯渇、heap-use-after-free)——26.x・24.x・22.xの全ラインに影響
  • Permission Modelに計3件(High 1件・Low 2件)——--permissionフラグ使用環境に影響
  • HTTPSエージェントに2件のMedium(mTLS ID再利用、ホスト名検証バイパス)
  • HTTPリクエストスマグリングのLow脆弱性あり——Node.jsベースのプロキシに影響
  • 依存ライブラリ更新:undici(8.9.0/7.29.0/6.28.0)、llhttp(9.4.3)

整理表——全11件のCVE一覧

CVE番号 深刻度 影響コンポーネント 影響ライン
CVE-2026-56846 High HTTP/2 maxSessionMemory制限バイパス 24.x・22.x
CVE-2026-56848 High HTTP/2 heap-use-after-free 26.x・24.x・22.x
CVE-2026-58043 High Permission Model ファイルシステム過剰アクセス 26.x・24.x・22.x
CVE-2026-56850 Medium HTTPSエージェント mTLS ID再利用 26.x・24.x・22.x
CVE-2026-58040 Medium HTTPSエージェント ホスト名検証バイパス 26.x・24.x・22.x
CVE-2026-58041 Medium node:sqlite SQLTagStore 書き込み再実行 26.x・24.x
CVE-2026-58042 Medium dns.resolveAny() 256件超のAレコードでプロセス中断 26.x・24.x・22.x
CVE-2026-58045 Medium node:zlib TypedArray長偽装によるクラッシュ 26.x・24.x・22.x
CVE-2026-56847 Low Permission Model トレースイベントの書き込み許可外 26.x・24.x・22.x
CVE-2026-58039 Low Permission Model プロセスレポートの書き込み許可外 26.x・24.x・22.x
CVE-2026-58044 Low HTTPパーサー ヘッダー切り捨てによるリクエストスマグリング 26.x・24.x・22.x

High——HTTP/2の2件、リモートからの攻撃が可能

CVE-2026-56846:HTTP/2ヘッダーブロック保持による maxSessionMemory 制限バイパス(24.x・22.x)

HTTP/2の処理において、保持されたヘッダーブロックが maxSessionMemory の制限を回避できる欠陥です。リモートの攻撃者がこの欠陥を悪用すると、対象サーバーのメモリを枯渇させることが可能になります。影響を受けるのは24.xと22.xで、26.xは対象外です。

CVE-2026-56848:HTTP/2再入送信によるheap-use-after-free(26.x・24.x・22.x)

HTTP/2の処理における欠陥で、nghttp2_session_mem_recv() の実行中に nghttp2_session_mem_send() が再入的に呼び出されることで、heap-use-after-freeが発生します。全アクティブラインに影響します。heap-use-after-freeは解放済みメモリへのアクセスを引き起こす脆弱性で、悪用に成功した場合、プロセスクラッシュや、条件によってはリモートコード実行につながる可能性があります。

HTTP/2を公開インターフェースで使用しているNode.jsサービスでは、今回の2件のHighを特に優先して対処してください。

High——Permission Modelのファイルシステムアクセス過剰許可(CVE-2026-58043)

Permission Model(--permission フラグによるアクセス制御)のパスマッチング処理に欠陥があります。ラジックスツリーのプレフィックス境界の処理に問題があり、許可されたパスへのアクセスが付与された攻撃者が、意図したファイルシステムの許可リスト外のパスを読み書きできます。

Permission Modelを使ってNode.jsプロセスのファイルシステムアクセスをサンドボックス化している環境では、この修正が適用される前のバージョンではサンドボックスが期待どおりに機能していない可能性があります。全アクティブラインに影響します。

Medium——HTTPSエージェントの2件、TLS・mTLSの扱いに問題

CVE-2026-56850:HTTPS AgentがPFX証明書をまたいでmTLS IDを再利用(26.x・24.x・22.x)

Node.jsのHTTPS Agentにおける接続再利用処理の欠陥で、PFXオブジェクト配列のキー衝突が発生し、異なるクライアント証明書で設定されたリクエスト間でmTLS(相互TLS)クライアントIDが再利用される可能性があります。mTLSを利用してクライアント認証を行っているAPIサーバーや内部サービスでは、異なるクライアントの認証情報が混在するリスクがあります。

CVE-2026-58040:HTTPS Agentのセッション再利用でホスト名検証がスキップされる(26.x・24.x・22.x)

CVE-2026-48934の修正が不完全であることが判明しました。HTTPSエージェントのTLSセッション再利用において、IDポリシーをまたいでホスト名検証がスキップされる可能性があります。TLS接続の再利用とホスト名検証の整合性は、中間者攻撃防止の基本であり、この脆弱性はその前提を崩す可能性があります。

Medium——その他3件(SQLite・DNS・zlib)のDoS系

CVE-2026-58041:node:sqlite SQLTagStoreイテレーターの書き込み再実行(26.x・24.x)

node:sqlite において、DatabaseSync#createTagStore() で生成された StatementSyncIterator が、リセット後に新しいパラメータで再バインドされた後も、キャッシュされたプリペアドステートメントを継続して実行できる欠陥です。意図しない書き込みが繰り返し実行されるリスクがあります。

CVE-2026-58042:dns.resolveAny() が256件超のAレコードで中断される(26.x・24.x・22.x)

DNSレスポンスに256件を超えるAレコードが含まれる場合、dns.resolveAny() がプロセスを中断させる可能性があります。この状態を繰り返し引き起こすことでサービス拒否(DoS)になります。攻撃者が操作可能なDNS応答を返せる環境では悪用のリスクが高まります。

CVE-2026-58045:node:zlib 同期APIがTypedArrayのbyteLength偽装でクラッシュ(26.x・24.x・22.x)

TypedArraybyteLength を偽装することで、 node:zlib の同期APIで到達可能なアサーションが引き起こされ、プロセスがクラッシュします。繰り返し発生させることでDoSになります。

Low——Permission Modelの許可外書き込みとHTTPリクエストスマグリング

CVE-2026-56847:トレースイベントが許可リスト外に書き込める(26.x・24.x・22.x)

trace_events.createTracing().enable()--allow-fs-write で指定したパス外にトレースログを書き込める欠陥です。Permission Modelを使用している環境での機密性への影響があります。

CVE-2026-58039:プロセスレポートが許可リスト外に書き込める(26.x・24.x・22.x)

process.report--allow-fs-write パス外のファイルを書き込み・上書きできる欠陥です。意図したセキュリティ境界のバイパスにつながります。

CVE-2026-58044:HTTPパーサーのヘッダー切り捨てでリクエストスマグリングが可能(26.x・24.x・22.x)

Node.jsをHTTPフォワーディングプロキシとして使用しているシナリオで影響があります。maxHeadersCount / maxHeaderPairs を超えるヘッダーが req.headers などから省略される一方で、内部ではそのヘッダーがHTTPメッセージフレーミングに使用されます。特に Content-Length がユーザーランドから見えない状態でリクエストボディが届けられるため、バックエンドサーバーとの接続でリクエストスマグリングが発生しえます。Node.jsをリバースプロキシ用途で利用している組織は注意が必要です。

情報システム部門が取るべき対応

今回の修正対象バージョンはNode.js v22.23.2・v24.18.1・v26.5.1です。アクティブなリリースラインを使用しているすべての環境でアップデートを推奨します。

優先すべき環境は次のとおりです。HTTP/2を公開エンドポイントで使用しているサービスはCVE-2026-56846・CVE-2026-56848の影響を受ける可能性があり、特に優先度が高くなります。Node.jsをHTTPプロキシ・フォワーダーとして使用している環境はリクエストスマグリング(CVE-2026-58044)に注意してください。--permission フラグによるPermission Modelを利用しているサンドボックス環境は3件の修正(CVE-2026-58043・56847・58039)が適用されます。

End-of-LifeのNode.jsバージョン(20.x以前)はセキュリティリリースの対象外ですが、これらのバージョンを使用している環境も同様の脆弱性の影響を受けている可能性があります。今回の対応を機に、サポート対象バージョンへの移行を検討してください。

Node.jsは多くのウェブAPIサービス・CLIツール・ビルドパイプラインの基盤として使用されており、今月のRails KindaRails2Shell(CVE-2026-66066)と同様に、サーバーサイドのランタイムアップデートは定期的な確認対象として管理することが重要です。


出典