CVE-2025-10047CVE-2025-10047是WordPress Email Tracker插件中存在的一个SQL注入漏洞。该插件是一款用于WordPress网站的电子邮件追踪、日志记录、分析和管理工具,广泛应用于需要追踪邮件打开率和管理邮件通信的网站中。该漏洞存在于插件的所有版本中,最高影响至5.3.15版本。
漏洞的核心问题在于插件对用户提供的'orderby'参数缺乏充分的转义处理,并且在构建SQL查询时未进行足够的预处理(如使用参数化查询或预编译语句)。这使得经过身份验证的攻击者(需要具有管理员级别或更高权限)能够将额外的SQL查询附加到现有的查询中,从而从数据库中提取敏感信息。
该漏洞由Wordfence安全团队的研究员发现,并于2025年10月22日公开披露。根据CVSS 3.1评分系统,该漏洞评分为4.9分,属于中等严重等级。攻击者需要通过网络进行攻击(AV:N),攻击复杂度低(AC:L),但需要高权限(PR:H),无需用户交互(UI:N),对机密性影响高(C:H),对完整性和可用性无影响(I:N/A:N)。
虽然该漏洞需要管理员权限才能利用,但在多用户WordPress环境中,被授予管理员权限的低权限用户或被入侵的管理员账户都可能成为攻击的起点。攻击者可利用此漏洞读取数据库中的敏感信息,如用户密码哈希、个人身份信息、加密密钥等,对网站安全构成严重威胁。
该SQL注入漏洞存在于WordPress Email Tracker插件处理数据库排序请求的过程中。具体技术细节如下:
1. **漏洞参数**:漏洞位于插件处理请求时的'orderby'参数中。该参数用于指定数据库查询结果的排序方式,但插件在接收用户输入后未对其进行充分的过滤和转义处理。
2. **根本原因**:插件直接将用户提供的'orderby'参数拼接到SQL查询语句中,而没有使用WordPress推荐的$wpdb->prepare()函数进行参数化查询。这种直接拼接的方式使得攻击者可以通过构造特殊的SQL语句片段来修改查询逻辑。
3. **利用条件**:攻击者需要拥有WordPress站点的管理员级别访问权限(Administrator-level access)。这意味着攻击者必须是一个已认证的管理员用户。
4. **攻击方式**:通过在'orderby'参数中注入恶意的SQL代码(如UNION SELECT语句),攻击者可以将额外的SQL查询附加到原始查询中。例如,构造类似`orderby=id; UNION SELECT user_pass FROM wp_users--`的payload,可以从wp_users表中提取管理员密码哈希。
5. **数据泄露**:利用此漏洞,攻击者可以读取数据库中的任何数据,包括但不限于:用户凭据、个人信息、站点配置、加密密钥等敏感数据。
6. **影响范围**:由于该漏洞影响所有5.3.15及以下版本,且插件在WordPress生态系统中使用广泛,因此影响面较大。