AnandJogawade/CVE-2026-48849-Roundcube-Webmail-Stored-XSS

GitHub: AnandJogawade/CVE-2026-48849-Roundcube-Webmail-Stored-XSS

该仓库记录了 Roundcube Webmail 中 CVE-2026-48849 存储型 XSS、HTML 注入与 CSS 注入漏洞的概念验证,展示如何通过邮件主题字段在会话恢复时自动触发恶意代码执行。

Stars: 1 | Forks: 0

# CVE-2026-48849 - Roundcube Webmail 中的存储型 XSS、HTML 注入与 CSS 注入 ## 概述 本仓库包含 **CVE-2026-48849** 的概念验证(PoC),这是 Roundcube Webmail 中存在的一个存储型跨站脚本攻击(XSS)、HTML 注入以及 CSS 注入漏洞。 该漏洞允许攻击者通过邮件主题字段注入恶意 HTML、CSS 和 JavaScript,这些内容会存储在草稿/会话恢复数据中,并在用户重新登录并恢复会话时自动执行。 ## 漏洞详情 | 字段 | 值 | |---------|---------| | CVE | CVE-2026-48849 | | 产品 | Roundcube Webmail | | 漏洞类型 | 存储型 XSS / HTML 注入 / CSS 注入 | | 受影响版本 | 1.6.16 之前的 1.6.x,1.7.1 之前的 1.7.x | | 修复版本 | 1.6.16, 1.7.1 | | 发现/报告者 | [Anand Jogawade (zazy)](https://roundcube.net/news/2026/05/24/security-updates-1.6.16-and-1.7.1) | ## 影响 成功利用该漏洞可能导致: - 在已认证用户的上下文中执行任意 JavaScript - HTML 内容注入 - 基于 CSS 的 UI 操控和视觉篡改 - 在 webmail 界面内进行钓鱼式覆盖 - DOM 操控 - 重定向至攻击者控制的网站 - 存储的 payload 会持续存在,直到草稿/会话数据被删除 该漏洞的一个显著特点是,payload 会在登录后的会话恢复过程中自动执行,无需用户进行额外的交互。 ## 复现步骤 1. 登录 Roundcube Webmail 2. 点击 **Compose**。 3. 将 payload 插入 **Subject** 字段中。 4. 触发任意后台操作(例如,添加图片附件),捕获请求并将其发送到 Repeater。 5. 首先发送原始请求并渲染响应(它将显示图片)。 6. 然后在 Repeater 中修改或删除 roundcube_sessauth cookie 以使会话失效,发送请求并渲染响应(它将显示主登录页面)。 7. 通过发送带有有效(原始)cookie 的相同请求来确认会话已过期,并检查响应是否为 200 OK(它仍将显示主登录页面)。 8. 查看 Roundcube 撰写邮件区域的右上角,它将显示一条消息“Your session is invalid or expired”。 9. 然后重新加载页面(它将跳转回登录页面)。 10. 使用相同的凭据再次登录。 11. XSS 会自动触发弹窗,并出现带有 CSS 注入和 HTML 注入的恢复消息弹窗。 ## 概念验证 ``` '">

HTML

Injection

CSS Injection