VMware SDDC Manager に、上流 Brotli の脆弱性 CVE-2026-111497 が波及する VMSA-2026-0008 が公表されました。SDDC Manager が同梱する Node.js の Brotli デコーダ経由で、ネットワーク到達可能な攻撃者による任意コード実行が起こりうる、という内容です。やっかいなのは、恒久パッチがまだ「準備中」なことです。この記事では、パッチを待つ間に nginx で攻撃者の Brotli を手前で止める回避策(Broadcom の KB460732)と、確認手順を、Broadcom の勧告と上流 CVE で裏を取って整理します。1つの上流ライブラリの欠陥が各スタックへ広がる全体像はサプライチェーン攻撃とは|手口・防御ツール比較・npm 12の新機構まで実践解説に、同じ Brotli が HTTP スタック全般へ及ぶ構図はHTTP2Shell とは|node2shellの正体は上流Brotliの問題にまとめています。

WHAT HAPPENED時系列

上流 Brotli の欠陥が、VMware SDDC Manager に届くまで

  1. 10月

    上流 google/brotli に CVE-2026-111497(OOB write)

    細工した Brotli を復号させると境界外書き込み。影響 1.0.3〜1.2.0、修正 1.0.10 / 1.1.1 / 1.2.1

  2. 10/27

    CISA が KEV カタログへ追加

    ライブラリ一般の実際の悪用を確認。各社がハニーポットで攻撃試行を観測(規模は限定的との評価もある)

  3. 10月

    Broadcom が VMSA-2026-0008 を公開

    SDDC Manager 同梱の Node.js の Brotli デコーダ経由で、ネットワーク到達可能な攻撃者による任意コード実行が起こりうる

  4. 10/28時点

    パッチは準備中(Patch pending)

    恒久修正は未提供。回避策 KB460732 を適用。CISA KEV は一般の悪用で、Broadcom は SDDC Manager 自体への攻撃は未報告

出典: Broadcom VMSA-2026-0008(advisory 39445)・KB460732、CISA KEV、google/brotli リリース(2026-10-28 確認)

30秒でわかる

  • ・何が起きたか:上流 Brotli の境界外書き込み(CVE-2026-111497)が、SDDC Manager 同梱の Node.js 経由で RCE になりうる(VMSA-2026-0008)
  • ・深刻度:9.1.1.x のみ Critical(CVSSv3 9.8)、9.0.x・9.1.0・5.2.x は Important(7.5)。報告元でスコアは割れる(Red Hat は上流を 8.1)
  • ・いま:恒久パッチは準備中。CISA KEV はライブラリ一般の悪用で、Broadcom は SDDC Manager 自体への攻撃は未報告
  • ・対応:KB460732 の nginx 回避(br 要求を 415)+到達制限で時間を稼ぎ、パッチが出たら適用

確認の第一歩は、自分の SDDC Manager がどのブランチかです。9.1.1.x なら Critical 扱いで、回避策の適用を急ぎます。9.0.x・9.1.0・5.2.x は Important です。

いつ、何が起きたのか

おおもとは、圧縮フォーマット Brotli の公式実装 google/brotli のデコーダにある境界外書き込み(CVE-2026-111497)です。細工した Brotli を復号させるとバッファの外に書き込み、条件によってはメモリ開示からコード実行に至りうる、というもので、影響する上流 Brotli は 1.0.3〜1.2.0、修正版は 1.0.10 / 1.1.1 / 1.2.1 です。この部品は多くのランタイムが同梱していて、Node.js もその一つです。

なぜ VMware が対象なのか — SDDC Manager は内部で Node.js を使っており、その Node.js が同梱する Brotli デコーダに上流の欠陥がそのまま入っていました。問題はアプリの作りではなく、同梱している部品の版です。だから「VMware のバグ」というより「上流 Brotli のバグが VMware の製品にも現れた」と捉えるのが正確です。

Broadcom は VMSA-2026-0008 で、「SDDC Manager で使われている Node.js に、Brotli デコーダの境界外書き込みによるリモートコード実行の脆弱性がある」「SDDC Manager にネットワーク到達できる攻撃者が、これを悪用して任意コードを実行しうる」と説明しています。深刻度は版で分かれ、Critical(CVSSv3 最大 9.8)は 9.1.1.x に限るとされています。

なお、2026年10月27日に CISA が CVE-2026-111497 を KEV カタログへ追加しましたが、これは上流ライブラリ一般の悪用を指すものです。Broadcom は、SDDC Manager を狙った攻撃は確認していないとしています。事実(部品は実際に悪用され始めた)と、まだ報告のない部分(この製品への攻撃)を分けて見ておくのが大切です。

攻撃がどう成立するか

ATTACK PATH成立の筋道

ネットワーク到達から RCE までの一本道

  1. ネットワーク到達

    SDDC Manager の管理面へ到達できる攻撃者

  2. 細工した Brotli

    Content-Encoding: br を宣言する要求を送る

  3. 同梱 Node.js のデコーダ

    Brotli を展開する過程で境界外書き込み

  4. メモリ破壊

    デコーダの内部状態が壊れる

  5. 任意コード実行

    条件が揃うとプロセス権限でコード実行

出典: Broadcom VMSA-2026-0008 の記述と CVE-2026-111497 の原因(2026-10-28 確認・PoC は非掲載)

CVE の記録によれば、攻撃者は細工した Brotli 圧縮ストリームを送ってデコーダのメモリを壊します。SDDC Manager の文脈では、管理面にネットワーク到達できる攻撃者が、Brotli で圧縮したと宣言する要求を送ることが入口になります。ここでは攻撃に使える具体的な手順(PoC)は示しません。要点は、攻撃者が内容を決められる Brotli を、製品が自動で展開してしまうという一点です。

優先度を分けるのは「ネットワーク到達」の意味です。Broadcom の記述は、認証の有無ではなく管理面に届けるかどうかを条件にしています。SDDC Manager の Web UI・API が広いネットワークから触れる状態なら、攻撃者が要求を1つ送れば入口に立てるため、優先度は高くなります。逆に、到達が運用用の管理セグメントに限られていれば、同じ欠陥でも悪用に必要な前提が増えます。だから次節の対策は、要求を手前で弾くこととそもそも届かせないことの両輪で考えます。

対策:パッチを待つ間、nginx で手前で止める

恒久策は Broadcom のパッチ適用ですが、2026年10月28日時点でパッチは準備中です。そこで Broadcom は、SDDC Manager 9.1.1.x 向けの一時回避 KB460732 を案内しています。

BUY TIME, THEN FIX当面と恒久

パッチが出るまで、プロキシ層で手前で止める

当面(パッチ待ち)

恒久

当面(パッチ待ち): nginx/プロキシで Content-Encoding: br の要求に HTTP 415 を返す(KB460732)

恒久: Broadcom のパッチ(準備中)を適用し、同梱 Node.js/Brotli を修正版へ

当面(パッチ待ち): SDDC Manager への到達を信頼する管理ホストに限定する

恒久: 恒久・サポート対象の構成へ戻す

当面(パッチ待ち): 手動・一時的。ロールバックは保存した nginx.conf を戻すだけ

恒久: 応答側・クライアント側で自動展開する経路も併せてふさぐ

出典: Broadcom KB460732(SDDC Manager 9.1.1.x の一時回避)・VMSA-2026-0008(2026-10-28 確認)

KB460732 の中身は、要点だけ言うと次の通りです。設定を変える前に、アプライアンスと対象ファイルをバックアップしたうえで、nginx に Content-Encoding: br を宣言する要求ボディへ HTTP 415(Unsupported Media Type)を返すルールを足し、nginx を reload します。元に戻すときは、保存しておいた nginx.conf を戻すだけです。攻撃者の Brotli がデコーダに届く前に拒否するので、パッチが出るまでの時間を稼げます。

区分 やること
当面(パッチ待ち) KB460732 の nginx 回避(Content-Encoding: br の要求を 415)+ SDDC Manager への到達を管理ホストに限定
恒久 Broadcom のパッチ(準備中)を適用し、同梱 Node.js/Brotli を修正版へ
注意 これは要求側の一経路を塞ぐ回避。応答側・クライアント側で Brotli を自動展開する経路は別途ふさぐ

この「パッチが無い間はリバースプロキシや WAF で攻撃者の入力を手前で弾く」という形は、同梱ランタイムの CVE に広く応用できます。ただし一時回避はあくまで時間稼ぎで、恒久策はランタイム・製品のパッチ適用です。回避を入れたまま忘れないよう、パッチ提供のアナウンスを追ってください。

自分の環境を確認する

まず、回避策が効いているかを確かめます。Content-Encoding: br を宣言する要求が 415 で弾かれるようになっていれば、KB460732 が効いています(下は悪用用の細工データではなく、ヘッダだけの疎通確認です)。

curl -s -o /dev/null -w "%{http_code}\n" -X POST \
  -H "Content-Encoding: br" --data-binary "test" https://<sddc-manager>/

回避前は 415 以外が返り、回避後は 415 が返ります。次に、Node.js を使う自前のサービスでも同じ上流 Brotli を抱えていないかを見ます。

node -p "process.versions.brotli"

表示が 1.0.10 / 1.1.1 / 1.2.1 以上なら対応済み、1.0.3〜1.2.0 の範囲なら修正版へ上げます。いずれも「侵害されたか」ではなく、修正・回避が入っているかの確認です。

影響範囲

対象は、ネットワーク到達可能な SDDC Manager です。Critical は 9.1.1.x に限り、9.0.x・9.1.0・5.2.x は Important(7.5)です。SDDC Manager は VMware Cloud Foundation / vSphere Foundation のライフサイクル管理を担うため、乗っ取られると私有クラウド内での足場が大きくなります。だからこそ、パッチ待ちでも到達制限と要求のフィルタで露出を下げる価値があります。

到達制限は、SDDC Manager の管理面(Web UI・API)に触れられる経路を、運用用の踏み台や管理セグメントからだけに絞ることです。インターネットや広い社内ネットワークから直接届く状態なら、まずそこを閉じます。KB460732 が触るのはアプライアンス内蔵の nginx ですが、もし自前のリバースプロキシや WAF を前段に置いているなら、そこでも同じく Content-Encoding: br の要求を落とす設定を足せば、二重に手前で止められます。あわせて、回避策を入れる前にアプライアンスと対象ファイルのバックアップを取り、適用後は Content-Encoding: br の要求が 415 で弾かれることを確かめます。いずれも恒久策ではないので、パッチ提供後は回避を外して正規の構成へ戻します。

最後に、スコアの読み方です。深刻度は報告元で割れます。Broadcom は 9.1.1.x を 9.8(CVSSv3)、CVE 公式記録(Google 採番)は上流を CVSS v4.0 で 9.2、NVD 系の v3.1 では 9.8、Red Hat は上流を 8.1(Important・v3.1)としています。数字そのものより、「ネットワーク到達できれば認証なしで成立しうる」「恒久パッチはまだ無い」という性質で優先度を判断するのが実務的です。KEV 入りの事実もあわせれば、回避策の適用を待つ理由はありません。

参照ソース