Brotliの脆弱性、Node.jsを使っていなければ関係ない?組み込みライブラリの確認方法

By • 2026-11-04 • CloudOps

「Node.jsは使っていないので、今回の脆弱性は対象外」。Brotliの注意喚起について、その回答だけで確認を終えることはできません。

Brotliは、ほかのソフトウェアに組み込まれて使われる圧縮ライブラリです。JPCERT/CCは2026年10月26日、Node.jsに加え、BunやPython向けBrotliパッケージなども確認対象として挙げています。JPCERT/CCの注意喚起

最初に調べるのは、自社のサービスが何を使って動いているかです。 本記事では、組み込まれたライブラリを調べる場所と、保守担当者への確認事項を説明します。

問題になるのは、圧縮データを展開する処理

今回の脆弱性は、BrotliのC言語実装にあるデータ展開処理の不具合です。識別番号は CVE-2026-111497。細工された圧縮データを、影響を受ける実装で展開した場合に、異常終了、メモリ上の情報の漏えい、任意のコード実行につながるおそれがあります。Googleの修正版リリース/JPCERT/CCの注意喚起

Node.jsの公式発表でも、アプリケーションが node:zlib で展開するBrotliデータを攻撃者が与えられることが、問題になる条件として説明されています。Node.jsのセキュリティ情報

JPCERT/CCによると、この脆弱性は「Node2Shell」、また「HTTP2Shell」とも呼ばれています。名称だけで製品や通信方式を判断せず、確認依頼にはCVE番号を添えてください。

「Brotliが含まれているか」と「その実装で外部からのデータを展開する処理があるか」は、分けて確認します。含まれているだけで侵害されたと判断することも、使い方が分からないまま影響なしと判断することも避けます。

インストールした覚えがなくても、構成を確認する

ライブラリは、アプリケーションが利用するソフトウェア部品です。開発担当者が直接追加した部品だけでなく、実行環境や導入製品に含まれる部品も調査対象になります。

たとえばNode.jsでは、今回問題となったデコーダーがNode.js本体に同梱されています。アプリの追加パッケージ一覧だけを調べても、この同梱部分の確認は済みません。Python向けのパッケージについても、GitHubのアドバイザリに対象が掲載されています。Node.jsの発表/Python向けパッケージの情報

調べる場所は、アプリが追加するパッケージ、Node.jsなどの実行環境に含まれる部品、導入製品の内部構成。各提供元のCVE情報と照合する

図1:Brotliの有無を調べる場所。導入製品はすべてが対象という意味ではなく、提供元への確認先を示しています。画像を開くと拡大できます。

一つのWebサービスを選び、次の三つに分けると確認を依頼しやすくなります。

調べる場所 確認する資料・情報 主な確認先
アプリに追加したパッケージ 依存関係の定義・固定ファイルと、稼働環境の導入内容 アプリ開発・保守担当
Node.jsなどの実行環境 実際に使っている実行環境の版と提供元のセキュリティ情報 サーバ・コンテナの保守担当
導入製品・外部サービス 製品名、利用版、提供元の対象製品一覧・対応案内 製品ベンダー・サービス提供者

これは確認を進めるための整理例です。自社の担当範囲に合わせて使ってください。外部サービスの内部構成を利用者が確認できない場合は、提供元の回答を根拠として残します。

開発用PCの結果を、本番環境の回答にしない

確認する環境を指定しないと、調査結果をどのサービスに適用できるか分かりません。依頼には「本番の会員向けサービス」「夜間のデータ連携処理」など、対象を明記します。

コンテナを使っている場合は、稼働中のイメージを特定して、その中の構成を確認します。 ホストOSのパッケージ一覧だけで調査を終えず、アプリが実行されるコンテナ内も対象にしてください。開発用PCや新しく作ったイメージの結果は、本番で同じものを使っていると確認してから照合します。

Dockerの公式文書は、イメージを作成時点のスナップショットとして説明しています。同じ名前のタグでも、提供元による更新後は別のイメージを指すことがあります。調査ではタグ名に加えて、稼働中のイメージを識別するIDやダイジェストを記録してください。Docker:イメージの再ビルド

調査記録には、サービス名・環境・実行環境または製品の版・イメージの識別情報・確認日を残します。次の担当者が同じ対象を調べられる程度の記録で十分です。

「対象外ですか」より、確認した根拠を聞く

保守担当者や製品ベンダーには、次のように問い合わせます。

CVE-2026-111497について、対象サービスの本番環境を確認してください。Brotliを含む実行環境・パッケージ・製品の有無、対象バージョンへの該当、Brotliデータを展開する処理の有無を、確認した資料とともに回答してください。不明な項目は、追加の確認先を記載してください。

返答は、次の三つに分けて扱います。

  • 対象外と確認できたもの:対象の製品・版と、判断根拠となる提供元の情報を残す。
  • 対応が必要なもの:提供元が指定する更新・対策を確認し、作業対象を決める。
  • 未確認のもの:確認できなかった項目と、次に調べる担当・提供元を残す。

「一覧にBrotliという名前がなかった」という回答なら、その一覧が追加パッケージだけなのか、実行環境の同梱部品まで含むのかを確かめます。既存の構成資料や部品表があれば、稼働環境と対応していることを確認したうえで利用してください。

なお、JPCERT/CCは対象製品の利用者に、対策の適用と侵害有無の調査を求めています。修正版を適用した記録と、過去の侵害を調べた結果は別に管理します。 不審な兆候がある場合は、通常の更新作業だけで完了とせず、専門事業者への調査依頼を含めて対応してください。JPCERT/CCの注意喚起

構成が分からず、影響を判断できない場合は

「どの実行環境で動いているか分からない」「開発会社とサーバ保守会社のどちらに聞くべきか決められない」という場合は、対象サービス、分かっている製品名、既存の構成資料をお知らせください。

CloudOpsでは、対象環境と保守範囲を確認し、構成調査や更新作業について、対応可否・範囲・費用を個別に検討します。専門的な侵害調査が必要な場合は、その依頼範囲を別途確認します。

実行環境・ライブラリの調査について相談する

参考資料

情報確認日:2026年11月3日。対象製品と修正版の情報は、実際の対応時に各提供元の最新情報をご確認ください。

You Might Also Like