セキュリティ · 2026年10月26日

他の言語でも公開 中文

Node.js、Brotli解凍処理の脆弱性を修正、リモートコード実行のリスクを解消

brown wooden 9-piece office table and chairs
S O C I A L . C U T / Unsplash

Node.jsプロジェクトは2026年10月21日、現在サポートされている3つのブランチである22.23.4、24.22.1、26.12.1のセキュリティ更新を公開した。これらの更新は、Brotli解凍処理における境界外書き込み脆弱性CVE-2026-111497を含む10件の脆弱性を修正することを目的としている。この脆弱性は、攻撃者が制御する不正なBrotli圧縮データを処理することで、リモートコード実行を可能にする重大な問題である。

Impervaのレッドチームが10月22日に公開した分析によると、Node.js 24.22.0の公式イメージに対して、fetch()関数やExpress 5、body-parser 2を通じて不正なデータを供給することでコード実行が成功した。ただし、この攻撃はLinux arm64環境でのみ実証されており、設定によっては複数回の試行が必要だった。10月22日にGitHubに公開されたエクスプロイトコードは、特定の意図的な設定を持つNode.jsバージョンでのみ機能すると報じられている。現時点で、実際の攻撃事例は報告されていない。

この脆弱性は、Node.js本体ではなく、同プロジェクトがバンドルしているGoogleのBrotli圧縮ライブラリに起因する。2026年2月のBrotliプロジェクトのコミットによる修正が、今回のNode.js更新に統合された。影響を受けるのは、攻撃者が制御するBrotliデータを解凍するNode.jsアプリケーションである。25.x、23.x、20.x以前のブランチはサポート終了のため修正は提供されない。Bunは10月22日に公開した1.4.4で修正を反映している。