概要
Node.jsプロジェクトは、全アクティブリリースラインに影響する複数のセキュリティ脆弱性に対処するため、緊急のセキュリティアップデートをリリースしました。2026年1月13日に発表されたこのパッチは、バージョン20.x、22.x、24.x、25.xを対象とし、高深刻度3件、中深刻度4件、低深刻度1件の合計7つの脆弱性を修正しています。今回のアップデートには、c-aresおよびundiciの依存関係パッチも含まれており、リモートからの悪用を可能にする可能性のある公開された脆弱性に対処しています。
主要な高深刻度脆弱性
- CVE-2025-55131: Timeout-based race conditions make Uint8Array/Buffer.alloc non-zerofilled
この脆弱性は、タイムアウトに基づく競合状態により、
Buffer.allocおよびUint8Arrayインスタンスが初期化されていないメモリを含む可能性があり、トークンやパスワードなどのプロセス内シークレットが露出する恐れがあります。通常、悪用には正確なタイミングまたはプロセス内でのコード実行が必要ですが、信頼できない入力がワークロードやタイムアウトに影響を与える場合、リモートから悪用される可能性があります。 - CVE-2025-55130: Bypass File System Permissions using crafted symlinks
攻撃者が細工された相対シンボリックリンクパスを使用することで、
--allow-fs-readおよび--allow-fs-writeのパーミッション制限をバイパスできる高深刻度の欠陥です。これにより、Node.jsのパーミッションモデルの分離保証が破られ、任意のファイルアクセスが可能になります。 - CVE-2025-59465: Node.js HTTP/2 server crashes with unhandled error when receiving malformed HEADERS frame
HTTP/2サーバーが不正な形式の
HEADERSフレームを受け取った際に、処理されないエラーによってプロセスがクラッシュする脆弱性です。これにより、明示的なソケットエラーハンドラを持たないアプリケーションでは、サービス拒否(DoS)が発生する可能性があります。
中・低深刻度脆弱性
中深刻度の脆弱性としては、以下のものが含まれます。
- CVE-2025-59466: Uncatchable “Maximum call stack size exceeded” error via async_hooks leads to process crashes:
async_hooksを介した捕捉不能なスタックオーバーフローエラーにより、プロセスがクラッシュする可能性があります。 - CVE-2025-59464: Memory leak that enables remote Denial of Service against TLS client certificate processing: TLSクライアント証明書処理におけるメモリリークにより、リモートからのサービス拒否攻撃が可能になります。
- CVE-2026-21636: Permission model bypass via unchecked Unix Domain Socket connections: Unixドメインソケット接続におけるパーミッションモデルのバイパス(バージョン25.xに特化)。
- CVE-2026-21637: TLS PSK/ALPN Callback Exceptions Bypass Error Handlers causing DoS and FD Leak: TLSコールバック例外がエラーハンドラをバイパスし、DoSおよびファイルディスクリプタのリークを引き起こします。
また、低深刻度の問題として、CVE-2025-55132では、読み取り専用パーミッションにもかかわらずfs.futimes()がファイルタイムスタンプを変更できることが報告されています。
推奨事項
Node.jsを本番環境で運用しているユーザーは、速やかにパッチが適用されたバージョンにアップデートすることが強く推奨されます。Node.jsのセキュリティポリシーでは、システムセキュリティを維持するために、アクティブなリリーススケジュールからの最新バージョンを使用することが推奨されています。
元記事: https://gbhackers.com/node-js-security-release-fixes-7-vulnerabilities/
