
CVE-2026-76466 の Python エクスプロイトおよびフリート検出ツール。これは、TCP/4372 上のハードコードされた Erlang 分散認証情報を悪用した、クラスタ化された Cisco Expressway における未認証の root RCE です。
クラスタ化された Cisco Expressway の Erlang ディストリビューションポート (TCP/4372) に到達できる未認証のリモート攻撃者が、ベンダー定義のメンテナンス ID とそれに関連付けられた永続クッキーを使用して、root として任意の OS コマンドを実行できます。これらはいずれも製品のクラスタマネージャモジュール (cm_server) にハードコードされています。
| 項目 | 値 |
|---|---|
| CVE | CVE-2026-76466 |
| CVSS | 9.8 Critical |
| CWE | CWE-798 (ハードコードされた認証情報の使用) |
| 公開日 | 2026-10-21 |
| 修正バージョン | X15.5.20 |
| 回避策 | なし (Cisco のアドバイザリによる) |
Cisco Expressway はクラスタデータベースサービスに Erlang/OTP を使用しています。2 台以上の Expressway ノードがクラスタとして構成されている場合、各ノードは TCP ポート 4372 で TLS によって保護された Erlang ディストリビューションリスナーを実行します。Erlang ディストリビューションセッションは共有の「クッキー」によって認証されます。攻撃者がクッキーを知っており、そのポートに到達できれば、ディストリビューションメッシュに参加し、リモートノード上で任意の関数呼び出しを実行できます。このリモートノードは root として動作します。
Expressway のクラスタマネージャモジュール (cm_server) には、ハードコードされたメンテナンスノード ID を、構成済みのクラスタピアと並んで許可ノードセットに追加する関数が含まれています。この ID はレガシーな TANDBERG プレフィックス wombat@ を使用しています。同時に、対応するハードコードされたクッキーもインストールされます。両方の値がコンパイル済みの Erlang モジュールに埋め込まれているため、影響を受けるリリースのすべてのインストールで同一です。
TLS の Permissive モード (工場出荷時のデフォルト) では、サーバーはクライアント証明書を検証しないため、メンテナンス ID とクッキーを知っているネットワーククライアントは誰でもディストリビューションハンドシェイクを完了し、RPC 呼び出しを実行できます。
TLS 1.3 connect to target:4372
→ Erlang dist handshake with node name "[email protected]"
→ cm_server admits the identity (add_allowed_wombat_node)
→ challenge-response with cookie "wombat"
→ distribution session established (ping = pong)
→ rpc:call(Target, os, cmd, ["id -u"]) → 0
Cisco のアドバイザリによる:
同梱の exploit/cve_2026_76466.py --mode ping を使用して、ターゲットがメンテナンス ID を許可するかどうかを確認します。これは認証のみを実行します (コマンド実行は行いません)。
大規模なトリアージの場合:
--mode ping チェックを実行するCisco は回避策はないと述べています。アップグレードが修復策です:
アップグレードが完了するまで、TCP/4371–4372 を認可されたクラスタピアに制限し、ピア以外のアドレスからの接続に対してアラートを発するようにしてください。
ランタイム検証は以下で実施しました:
id -u が 0 (root) を返した未テスト:
このツールは認可されたセキュリティテスト専用です。メンテナーは悪用について責任を負いません。所有していないシステムをテストする前に、必ず書面による許可を取得してください。