漏洞概述 漏洞编号: SI-75 发布日期: 2026年5月6日 标题: Unauthenticated SQLi in Publish Audit API 严重程度: Critical 需要管理员权限: 是 修复版本: 26.04.28-03 发现者: Gerhard Botha 影响范围 CVSS v4.0 评分: 10.0 (CRITICAL) 影响描述: - 远程攻击者可以读取、修改或破坏任意数据库内容,无需认证。 - 漏洞存在于 方法中,该方法通过包装每个调用者提供的捆绑ID为单引号并直接插入到查询中,未进行输入 sanitization 或 parameterization。 - 根本原因是两个独立失败的组合: 1. 在 Publish Audit API 端点上缺少认证强制执行。 2. 使用字符串拼接/格式化插值而不是参数化查询(预准备语句)进行动态 SQL 构造。 修复方案 修复版本: dotCMS Core 26.04.28-03 修复描述: - 应用了两个独立的控制措施: 1. 认证强制执行: 端点现在需要具有发布队列 portlet 权限的已认证后端用户。未认证的请求在构造任何 SQL 之前被拒绝。 2. 参数化查询: SQL IN 子句构造重构为使用参数化查询(预准备语句),消除了从捆绑 ID 输入中注入 SQL 的可能性。 受影响端点 GET/POST /api/auditPublishing/getAll: - 未强制执行认证,允许任何未认证的远程用户访问。 - 用户提供的输入直接插入到动态构造的 SQL 语句中。 - 在网络中可访问,没有任何先决条件或用户交互。 其他信息 LTS 版本: LTS (长期支持) 版本的 dotCMS Core 不受影响。 研究人员: Gerhard Botha 研究资料: https://github.com/GerhardBotha07 CVE 链接: https://www.cve.org/CVERecord?id=CVE-2026-8054 代码块 无 POC 代码或利用代码。