Roundcube Webmail 作为一款开源且基于浏览器的电子邮件客户端,凭借其直观友好的用户界面与丰富的功能,使用户能够便捷地通过 Web 方式管理邮件。它全面支持 IMAP 和 SMTP 标准协议,涵盖日常收发邮件、联系人管理及日历集成等核心功能。其插件扩展机制也让个性化定制变得灵活简单。正因如此,Roundcube 在个人用户、企业以及各类机构中广受欢迎,被视为成熟可靠的邮件管理解决方案。
0x00 前言
然而,即便是成熟稳定的产品也难免存在安全缺陷。近期,Roundcube Webmail 被披露存在一个预认证 SQL 注入漏洞,根源在于 virtuser_query 插件。攻击者无需登录即可利用该漏洞发动攻击。该问题涉及 preg_replace() 函数中反斜杠转义绕过的经典手法,尽管已是已知的攻击向量,但在真实场景中依然具有显著的破坏力。
0x01 漏洞描述
该漏洞的核心在于 virtuser_query 插件中 preg_replace() 函数的反斜杠转义机制存在绕过风险。攻击者可以在未经过身份验证的状态下,通过精心构造恶意 SQL 片段,利用 preg_replace() 特殊处理逻辑绕过转义防护,从而向数据库查询中注入任意 SQL 命令。这意味着数据库中的所有敏感信息——包括用户名、邮件配置详情、邮件元数据等——都可能遭遇大规模泄露,安全风险极高。
0x02 CVE 编号
该漏洞的 CVE 编号为 CVE-2026-48842
0x03 影响版本
Roundcube Webmail 1.6.x (1.6.0 至 1.6.15)
Roundcube Webmail 1.7.x (1.7.0)
0x04 漏洞详情
漏洞代码具体位于 plugins/virtuser_query/virtuser_query.php 文件中。在 user2email、email2user、user2host 及 alias2user 函数中,均使用了 preg_replace() 将用户输入替换至 SQL 查询模板。问题的关键在于:preg_replace() 的 e 修饰符(尽管已废弃,但依然可被利用)允许执行任意代码,同时反斜杠转义的实现存在逻辑缺陷。攻击者只需构造特殊输入,即可绕过转义,将恶意 SQL 代码注入到查询中。

