CVE-2026-40871mailcow: dockerized是基于Docker的开源群件/电子邮件套件。在2026-03b版本之前,该产品在Mailcow API的quarantine_category字段中存在二阶SQL注入漏洞。攻击者可通过/api/v1/add/mailbox端点注入恶意SQL代码,该代码稍后会在隔离通知作业执行时被触发。该漏洞允许攻击者提取敏感数据(如管理员凭据)并将其渲染在隔离通知邮件中,对系统安全性造成严重影响。
该漏洞属于典型的二阶SQL注入(Second-order SQL Injection)。攻击链分为两个阶段:存储与利用。首先,攻击者利用高权限账户访问`/api/v1/add/mailbox`接口,在提交邮箱创建请求时,将恶意的SQL语句注入到`quarantine_category`参数中。由于系统未对该字段实施任何过滤或消毒机制,恶意载荷被成功存入数据库。随后,当系统定时任务调用`quarantine_notify.py`脚本生成隔离通知邮件时,脚本直接通过不安全的Python字符串格式化操作(%s)将存储的`quarantine_category`值拼接到SQL查询语句中。这一操作触发了SQL注入,导致恶意代码被执行。攻击者可通过构造UNION SELECT语句,从数据库中读取如管理员用户名和密码哈希等敏感信息,并最终将这些数据渲染在发送给用户的邮件内容中,从而实现数据窃取。