mailcowの脆弱性、全テナントのメールに影響し修正版あり
mailcow: dockerizedの2026-11より前の版では、ドメイン管理者がrspamdコンテナでコマンドを実行でき、全テナントのメールに影響します。修正版の2026-11へ更新し、ドメイン共通フッターに不審な記述がないか確認してください。
急ぎ度: 早めに
CVSS v3は9.1、v4は9.4で全テナントのメールに及びますが、修正版2026-11がすでに出ているため、早めに更新する段階です。
関係があるか
1台のmailcowで複数のドメインを運用し、ドメインごとに管理者権限を渡している環境が当てはまります。ホスティング事業者や、グループ会社でメール基盤を共用している情シスが代表例です。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| mailcow: dockerized | 2026-11より前のすべての版 | 2026-11 |
確かめ方
- 1mailcowの版を確認し、2026-11より前なら対象です。
- 2管理画面でドメイン管理者の権限を持つアカウントを一覧にし、全員が把握できている人かを確かめます。
- 3各ドメインの共通フッターのHTMLに、
{%や{{といったテンプレート構文が入っていないかを見ます。 - 4送信時の遅延や、メールがDATAの段階で止まるといった症状がrspamdで出ていないかも合わせて見てください。
何が起きたか
mailcow: dockerizedの2026-11より前の版に、ドメイン管理者が保存した共通フッターを足がかりに、メール判定を担うrspamdコンテナの中でコマンドを実行できる脆弱性があります。2026年11月10日に公表され、同日付の2026-11で修正されました。CVSS v3は9.1、v4は9.4で、CWEはCWE-1336です。勧告ではCWE-94にもつながる問題として扱われています。
ドメイン共通フッターのHTMLは、入力されたまま保存されます。その後、そのドメインから認証済みで送られるメールのたびに、rspamdのテンプレートエンジンが評価します。この評価でテンプレートの記述がコードとして実行され、本来あるはずの実行制限をすり抜けて、OSのコマンド実行に届いてしまいます。制限が効かないのは、テンプレートのマクロの既定値を評価する部分です。
問題を大きくしているのは、rspamdが全テナントで共用の1コンテナだという点です。1つのドメインの管理者が動かしたコードが、ほかの全ドメインのメールを扱う場所で動きます。
攻撃の流れ
-
1
共通フッター保存
ドメイン管理者が、自分の認証済みセッションでドメイン共通フッターに細工した内容を保存します。
-
2
認証済み送信1通
そのドメインから認証済みのメールが1通送られると、処理が始まります。
-
3
テンプレート評価
rspamdがフッターを評価し、制限をすり抜けてコマンドが実行されます。
-
4
全テナントへ波及
共用コンテナのため、全ドメインのメールの閲覧・改ざん・注入とフィルターの無効化に及びます。
どう悪用されるか
悪用にはネットワーク経由で、少なくとも1つのドメインの管理者権限が必要です。その管理者が自分の認証済みセッションでフッターを保存し、そのドメインから認証済みのメールが1通送られれば、引き金は揃います。グローバル管理者の権限やホストへのアクセス、ネットワーク上の特別な位置は要りません。利用者に何かを操作させる必要もありません。管理者の資格情報が盗まれた場合にも、同じ道が開くとみられます。
成功すると、rspamdのコンテナ内で任意のコマンドが動きます。全テナントのメールを読み、改ざんし、新しく差し込めます。通過するメールから認証情報を集めることも、スパム判定やウイルス判定を全体で無効にすることも可能です。rspamdが使うRedisにも手が届きます。
さらに、rspamdの環境変数にあるRedisのパスワードを使い、内部の管理経路を通じて任意のコンテナを停止・再起動できます。基盤全体のサービス停止につながる経路です。勧告はこれを、コード実行に成功した後の増幅手段と位置づけています。ホストOSへの脱出は含まれません。
今すぐやること
-
1
稼働中の版を確認する
mailcowの配置先で版を確認します。既定の配置先(/opt/mailcow-dockerized)の例です。管理画面の表示でも構いません。
git -C /opt/mailcow-dockerized describe --tags -
2
修正版に更新する
対象の版であれば、mailcowの標準の更新手順で修正版に更新します。更新前にバックアップを取り、リリースノートも見ておくと安心です。修正はフッターの保存と評価の経路をふさぐもので、勧告によれば攻撃の連鎖全体が止まります。
-
3
保存済みのフッターを点検する
全ドメインの共通フッターを開き、テンプレート構文が混ざっていないか確認します。見つかった場合は、更新前にコマンドが実行された可能性を疑ってください。更新は今後の実行を止めるもので、すでに起きたことは消せません。
-
4
ドメイン管理者を棚卸しする
ドメイン管理者の権限を持つアカウントを洗い出し、不要な権限は外します。残すアカウントには、強いパスワードと多要素認証を求めてください。
-
5
侵害の疑いがあるときは範囲を広くとる
不審なフッターが見つかったら、rspamdを通った全テナントのメールと認証情報が対象になりえます。影響するドメインのパスワード変更と、メールの改ざんや転送設定の点検まで進めてください。
すぐ更新できないとき
更新までのつなぎとして、ドメイン管理者の権限を信頼できる人に限り、共通フッターを定期的に点検します。管理画面とAPIへのアクセス元を絞れる環境なら、社内や特定のネットワークに限定すると、フッターを書き換えられる機会を減らせます。ただし脆弱性そのものは残るため、更新の代わりにはなりません。
背景
mailcow: dockerizedは、メールサーバーの構成要素をDockerコンテナにまとめ、複数のドメインを1台で運用できるオープンソースのメール基盤です。rspamdはその中で、送受信メールのスパム判定やウイルス判定、ドメイン共通フッターの付与を担います。ドメインごとに管理者を置けるため、ホスティング事業者や複数の組織でメール基盤を共用する環境で使われています。
今回のように、利用者が保存した文字列をテンプレートエンジンが式として評価し、コード実行に至る問題は、テンプレート注入と呼ばれます。通常は1つのアプリケーションの内側にとどまります。今回は、判定を担うrspamdが全ドメインで共用されているため、1ドメインの管理者権限が基盤全体のメールへの権限に化けました。CVSSのスコープが「変更あり」と評価されているのも、この構成が理由です。
よくある質問
Q.管理者が自分1人だけの環境でも更新は必要ですか。
Q.rspamdを再起動すれば止められますか。
まだ分かっていないこと
- 実際の攻撃で悪用された事例は、勧告に記載がありません。
- ベンダーが示す正式な回避策は、勧告にありません。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| パッケージ | 影響を受ける版 → 修正版 | |
|---|---|---|
| mailcowmailcow: dockerized |
2026-11 未満→ 2026-11 |
2026-11 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
mailcow: dockerized before 2026-11 contains a server-side template injection vulnerability that allows domain administrators to execute commands in the shared rspamd container by storing a malicious domain-wide footer. Attackers can embed a Jinja macro with an os.execute default value, rendered by the rspamd MOO_FOOTER prefilter, to read or inject mail for every tenant and disable filtering.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- web github.com
- web disclosure@vulncheck.com
- web disclosure@vulncheck.com
- web disclosure@vulncheck.com
- web disclosure@vulncheck.com
- web nvd.nist.gov
- web github.com