Zimbra の脆弱性 CVE-2026-73570:root アクセスとメールボックス認証情報の窃取を実環境で観測

Zimbra Vulnerability Exploited to Gain Root Access and Steal Mailbox Authentication Secrets

2026/10/01 gbhackers — Zimbra Collaboration Suite に存在する深刻度の高い、認証を必要としない OS コマンドインジェクションの脆弱性 CVE-2026-73570 が、実環境で悪用されている。この脆弱性を悪用する攻撃者は、root 権限を取得し、アクセスを維持するとともに、メールボックスの認証シークレットを収集している。この問題は、Zimbra の SNMP 通知処理経路に存在する。攻撃者はシェルのメタ文字を含む細工した SMTP リクエストを送信することで、攻撃者が制御する入力を swatchdog から snmptrap の実行フローへ渡す。この不十分な入力無害化処理を悪用すると攻撃者は、認証/ユーザー操作/事前の侵入を必要とせずに、zimbra サービス・アカウントとして任意のコマンドを実行できる。Zimbra Collaboration Suite のバージョン 10.1.20 未満が影響を受ける。

この脆弱性へ対処するために、Zimbra は 2026年7月20日の時点でバージョン 10.1.20 をリリースしている。その一方で Microsoft が確認したのは、8月13日の脆弱性公表に先立つ 7月28日 〜 8月7日に、攻撃者が脆弱な実行経路をスキャン/探索していたことである。この時系列から推測されるのは、攻撃者によるパッチ差分からの独自の特定、もしくは一般公開前の修正内容に対するリバースエンジニアリングの可能性である。

偵察活動では、oast[.]fun/oast[.]online/dnslog[.]pp[.]ua/requestrepo[.]com などのインタラクション・サービス上にホストされたドメインを利用する帯域外のコールバック基盤が利用された。攻撃者は、ペイロードを展開する前に、curl/wget/ping/nslookup/id などの軽量なコマンドを悪用して、コマンド実行/外向き通信の確認を行っていた。Microsoft は、CVE 固有の ZB73570 User-Agent を含む HTTP プローブも確認していた。

悪用に成功した攻撃者は zimbra アカウントを悪用して、外部公開された Web ディレクトリの権限を変更し、Jetty/mailboxd のアプリケーションパスに JSP Web シェルを展開した。このペイロードはエンコード/圧縮された断片から再構築されたが、侵害後の後続ステージング・ファイルの削除により、フォレンジック上の痕跡が低減されていた。さらに攻撃者は、wget/curl を悪用して、第 2段階ペイロードのダウンロード/リバースシェルの作成/切り離されたプロセスの起動を行い、cron/systemd を介した定期的な実行や、memfd_create を介したメモリ上での実行を行っていた。

CVE-2026-73570 attack chain (Source : Microsoft).
CVE-2026-73570 attack chain (Source : Microsoft).

この侵入では Web シェルによるアクセス維持に加え、Microsoft が確認したのは、正規の Zimbra ヘルパーや書き込み可能なメールボックス・マネージャのログ、PAM 設定、pam_exec ヘルパー、zmstat-fd ヘルパーを悪用した権限昇格チェーンだった。攻撃者は、Zimbra のログファイルを “/etc/pam.d/sudo” へのシンボリックリンクに置き換え、zimbra アカウントから PAM ファイルへ書き込める状態にした。

Zimbra の脆弱性を悪用

その後、攻撃者は root 権限で実行される pam_exec フックを追加し、Zimbra ユーザーに対するパスワード不要の sudo ルールを作成した。これにより root 権限を取得すると同時に、元の PAM 設定の大部分を復元し、一時的な痕跡を削除することに成功した。Microsoft Threat Intelligence によると、この脆弱性は、オプションの zimbra-snmp パッケージがインストールされ、SNMP 通知が有効化されている、インターネットに公開された Zimbra サーバに影響する。

攻撃者は、zimlog.service という偽装した systemd ユニットを用いてホストへのアクセスも維持していた。このユニットは “/etc/systemd/system/” に配置され、正規のサービスに見せかけるため、タイムスタンプが改変されていた。

CVE-2026-73570 command-injection sequence that changes webroot permissions, reconstructs encoded fragments, and deploys a JSP webshell (Source : Microsoft).
CVE-2026-73570 command-injection sequence that changes webroot permissions, reconstructs encoded fragments, and deploys a JSP webshell (Source : Microsoft).

さらに攻撃者は、”/opt/zimbra/.ssh/zimbra_identity” に保存された Zimbra の既存の SSH ID を利用し、信頼されたクラスタノードに認証していた。その他にも、非対話型 SSH/rsync を悪用して、Web シェル/スクリプト/ペイロードの断片をメールボックスサーバ間で移動していた。これにより、外部公開された 1 台のシステムからクラスタ全体が侵害される可能性がある。

特に懸念されるのは認証情報の窃取であり、攻撃者は zmlocalconfig -s を実行して LDAP/MySQL/Postfix/Amavis/レプリケーション・コンポーネントで使用される Zimbra のサービス認証情報を取得していた。続いて、それらの取得した LDAP の認証情報を悪用して、zimbraPreAuthKey/zimbraAuthTokenKey/zimbraTwoFactorAuthSecret などの機密属性を照会していた。

zimbraAuthTokenKey を取得した攻撃者は、任意のアカウントに対する署名済みセッショントークンを生成し得る。また、zimbraPreAuthKey を利用することで、個々のユーザーのパスワードを必要とせずに、事前認証されたログイン URL を悪用する可能性がある。

Microsoft は、モジュールパス zimbra-exfil/client-dump から特定された Zimbra 向けの Go で作成されたインプラントも分析した。このツールは “/opt/zimbra/conf/localconfig.xml” を読み取り、サービスアカウントのパスワードを抽出し、ローカルの MySQL/LDAP サービスに対してクエリを実行して、メールボックス/メールボックス・メタデータ/モバイルデバイス/不在通知/Zimbra 名前空間のテーブルをエクスポートする。攻撃者は、このツールにより収集したデータを “/tmp/” 配下のタイムスタンプ付きディレクトリへ一時保存し、転送前に圧縮していた。

確認された 1 件の事例では、攻撃者がメールボックスのバックアップデータを “/opt/zimbra/final.tar.gz” へアーカイブし、AzCopy を使用して Azure Blob Storage へ転送しようとしていた。Microsoft によると、証拠から確認できるのはアーカイブの準備および転送の試行までであり、データ流出が完了したことまでは確認されていない。

管理者に推奨されるのは、すべての Zimbra インスタンスを 10.1.20 以降に緊急にアップグレードすることである。直ちにパッチを適用できない組織では、オプションである zimbra-snmp パッケージの削除/SNMP 通知の無効化/SNMP および SMTP へのアクセス元を信頼できるホストに限定することが求められる。

インシデント対応担当者にとって必要なことは、外部に公開された Zimbra サーバでのリバースシェルの活動を優先度の高い侵害の兆候として扱うことである。その上で、すべてのメールボックス・ノードで JSP Web シェルおよび不審な systemd ユニットを調査し、侵害が疑われる場合は Zimbra の事前認証キーおよびセッショントークンのシークレットをローテーションする必要がある。この脆弱性は CISA の既知の悪用された脆弱性 (KEV) カタログにも追加されており、緊急の対応が求められる状況となっている。

侵害の痕跡
IndicatorTypeRole
117.107.25[.]243:7071IPv4 (C2)Dropper C2, serving de.sh
192.255.193[.]111:9004IPv4 (C2)Miner C2, serving the build_amd64 cryptominer staged as .kworker_sys
transzimbra[.]linkpc[.]netDynamic-DNS domainDropper C2, serving agent.sh/agent2.sh/zimdown2
psk1zim[.]abrdns[.]com/agentwsDynamic-DNS domainzimclient2 WebSocket (port 80, /agentws) and raw TCP (8080) command channel

注:IP アドレス/ドメインは、意図しない名前解決やハイパーリンク化を防止するため、意図的に無害化されている (例:[.])。元の形式に戻すのは、MISP/VirusTotal/SIEM などの管理された脅威インテリジェンス・プラットフォーム内に限定する必要がある。