Node.js Fixes 11 Security Flaws That Can Crash Servers and Break Filesystem Restrictions
2026/07/30 CyberSecurityNews — Node.js プロジェクトが公表したのは、サポート対象バージョン 22.x/24.x/26.x に存在する 11 件の脆弱性に対処する、重要なセキュリティ更新のリリースである。これらのアップデートは、Node.js バージョン v22.23.2/v24.18.1/v26.5.1 として提供されている。この 2026年7月のセキュリティ・リリースでは、HTTP/2 処理/Permission Model/HTTPS 接続の再利用/DNS 解決/SQLite 処理/Zlib API/HTTP パーサーに関連する脆弱性が修正されている。

それに加えて Node.js は、同梱されている Undici 依存関係のバージョンをリリース・ラインに応じて 8.9.0/7.29.0/6.28.0 へと更新し、llhttp 依存関係もバージョン 9.4.3 へ更新した。2 件の高深刻度 HTTP/2 脆弱性により、リモート攻撃者が Node.js サービスを妨害できる可能性があるが、それに対応するアップデートである。
脆弱性 CVE-2026-56846 は、保持される HTTP/2 ヘッダ・ブロックにより、設定済みの maxSessionMemory 制限がバイパスされる問題である。特別に細工したトラフィックを送信する攻撃者は、サーバ・メモリを消費させ、サービス拒否状態を引き起こす可能性がある。
脆弱性 CVE-2026-56848 は、すべてのアクティブなリリースラインに影響する、もう 1 件の高深刻度 HTTP/2 の問題である。この脆弱性を悪用する攻撃者は、基盤となる nghttp2 ライブラリがデータを処理しながら追加データを受信する際に、ヒープ領域で Use-After-Free を引き起こす可能性がある。
このようなメモリ安全性の問題により、プロセスがクラッシュする可能性があり、実行環境に応じて広範なセキュリティ上の問題に至る恐れがある。この更新では、Node.js Permission Model における高深刻度脆弱性 CVE-2026-58043 も対処されている。
Node.js がセキュリティ欠陥を修正
--permission オプションを指定して起動されたアプリケーションにおいて、radix-tree のプレフィックス境界処理問題により、意図された allowlist の外側にあるファイル・システムへのアクセスが誤って許可される可能性がある。承認済みパスへのアクセス権を持つユーザーが、この欠陥を突くことで、意図しない場所にあるファイルに対する Read/Write が生じる恐れがある。
中深刻度の複数のバグは、HTTPS とアプリケーション全体の信頼性に影響するものだ。脆弱性 CVE-2026-56850 により、異なる PFX 証明書を持つリクエスト間で、HTTPS Agents が mutual TLS identities を再利用する可能性が生じる。CVE-2026-58040 は、以前の不完全なパッチを修正するものである。この問題により、TLS session reuse が identity policies をまたいでホスト名検証 (hostname verification) をバイパスする可能性が生じている。
その他の修正は、過大な DNS レスポンスと操作された TypedArray 長に起因するクラッシュの防止を目的としている。CVE-2026-58042 により、レスポンスに 256 件を超える A レコードが含まれる場合に、dns.resolveAny() の中断が生じる可能性がある。その一方で CVE-2026-58045 は、偽装された TypedArray バイト長が使用される際に、同期 Node:zlib APIs のクラッシュを引き起こす可能性がある。
修正された脆弱性
| CVE | Issue |
|---|---|
| CVE-2026-56846 | HTTP/2 memory limit bypass |
| CVE-2026-56848 | HTTP/2 heap use-after-free |
| CVE-2026-58043 | Filesystem permission bypass |
| CVE-2026-56850 | mTLS identity reuse |
| CVE-2026-58040 | Hostname verification bypass |
| CVE-2026-58041 | SQLite write re-execution |
| CVE-2026-58042 | DNS response crash |
| CVE-2026-58045 | zlib crash |
| CVE-2026-56847 | Trace events allowlist bypass |
| CVE-2026-58039 | Process report allowlist bypass |
| CVE-2026-58044 | HTTP request smuggling |
さらに Node.js は、trace-event logs と process reports に関連する、低深刻度の Permission Model バイパスの問題を解決した。これらは CVE-2026-56847 および CVE-2026-58039 として特定されている。いずれの脆弱性も、--allow-fs-write により認可されたパスの外側へのファイル書き込みを可能にする恐れがある。
脆弱性 CVE-2026-58044 は、Node.js ベースの forwarding proxies においてリクエスト・スマグリングを可能にし得る、HTTP ヘッダ切り詰めの問題を修正する。
管理者に求められるのは、速やかなアップグレード/本番環境での依存関係のテスト/サポートされていない Node.js バージョンの廃止である。
訳者後書:Node.js において、HTTP/2 処理や実行権限管理の不備に起因する複数の脆弱性 CVE-2026-56846/CVE-2026-56848/CVE-2026-58043 などが公表されました。この問題は、通信処理時のメモリ制限回避や、データ解放後の不正アクセス、アクセス許可領域の誤判定などに起因しています。悪用された場合には、サーバ・メモリの枯渇によるサービス停止や、意図しないファイル読み書き、システム・クラッシュが引き起こされる恐れがあります。対応策として、修正パッチが適用された最新バージョンへの速やかな移行や、本番環境での動作検証が有効です。システムを安全に利用するためにも、依存ライブラリを含めた環境のアップデートを実施することが推奨されます。
You must be logged in to post a comment.