Googleが開発し広く使われているオープンソースの圧縮ライブラリBrotliに脆弱性が見つかり、幅広いソフトウェアが危険にさらされています。
CVE-2026-111497について
CVE-2026-111497は「Node2Shell」「Broccoli2Shell」「Brotli2Shell」とも呼ばれる、リモートから悪用可能な境界外書き込みの脆弱性です。2026年10月21日にNode.jsが公表したことで、一気に注目を集めました。
Node.jsのメンテナーは「攻撃者が細工したBrotliデータをアプリケーションがnode:zlibで展開すると、プロセスのメモリが破壊されるおそれがあります。その結果、クラッシュやプロセスメモリの漏えい、リモートコード実行につながる可能性があります」と説明しています。問題の原因はBrotliのデコーダーにあると指摘しています。
修正版の提供状況
CVE-2026-111497の修正は2026年2月27日にgoogle/brotliへコミットされました。ただし、リリースもアドバイザリも出されないまま、8か月間にわたって誰でも閲覧できる状態でした。修正を含むBrotliのバージョン1.2.1、1.1.1、1.0.10が提供されたのは、先週になってからです。
BrotliはNode.jsに同梱されているため、この脆弱性はNode.jsの26.x、24.x、22.xの各リリースブランチに影響します。Node.jsのメンテナーは、26.12.1、24.22.1、22.23.4で修正しました。(サポートが終了した20.x、23.x、25.xの各系統も影響を受けますが、修正は提供されません。)
ただし、Tenableの研究者が指摘するように、「脆弱なBrotliデコーダーで攻撃者が制御するデータを展開するアプリケーションは、すべてリスクにさらされる可能性があります。Node.js、.NET、Bun、Envoy Proxy、Istio、PythonのHTTPクライアント、FFmpeg、Apache Arrow、ClickHouseなどが該当します」。
これらのプロジェクトの多くでは、メンテナーが依存関係をすでに更新し、修正版を公開しています。各種Linuxディストリビューションも、修正済みパッケージを公開済みか、公開に向けて準備を進めています。
Aikido Securityは、影響を受けるランタイムとBrotliライブラリを一覧にまとめ、次の対応を勧めています。「依存関係のロックファイルを更新し、影響を受けるアプリケーションとコンテナイメージを再ビルドしたうえで、再デプロイしてサービスを再起動してください。稼働中のワークロードが修正済みのコンポーネントを使っていることも確認してください」
修正に関する詳しい情報は、Broccoli2Shell専用サイトで確認できます。
Rapid7は、影響を受けるバージョンや初期状態での露出、対処方法は製品ごとに異なると指摘しています。また、影響を受けるデコーダーが存在しても、アプリケーションが攻撃者の制御するBrotliデータを処理しない限り、危険にさらされるとは限らないとしています。
同社は次のように助言しています。「各組織は、下流のベンダーやディストリビューションが出すアドバイザリを確認してください。そのうえで、影響を受けるバージョンの特定、露出の評価、適切な対処の判断を進める必要があります」
PoCと実環境での悪用
CVE-2026-111497のPoC(概念実証)エクスプロイトは、すでにGitHubで公開されています。Impervaは、公式のNode.js 24.22.0 Linux arm64イメージに対し、複数回の試行の末にこの脆弱性を悪用してリモートコード実行を達成できることを実証しました。
脅威インテリジェンス企業のELLIOは月曜日、同社のセンサーが「実環境でCVE-2026-111497の悪用トラフィックを記録しました。このトラフィックは公開されているエクスプロイトを使っており、脆弱なビルドでシェルを奪取できることを私たちは確認しています」と報告しました。
ELLIOによると、悪用の試行元であるIPアドレス94.154.43.7は、以前にPHP2Shellのエクスプロイトを送信していたことが確認されています。さらに、Palo Alto GlobalProtectやFortiOS SSL VPNへの探索行為、KubernetesのAPIやコンテナオーケストレーションに対するスキャンにも関与していました。
同社は「このRCEが、大規模な攻撃を狙う攻撃者に取り込まれていることを示しています」との見方を示しています。
翻訳元: https://www.helpnetsecurity.com/2026/10/27/node2shell-broccoli2shell-vulnerability-cve-2026-111497/