CVE-2025-9947CVE-2025-9947是WordPress平台上一款名为Custom 404 Pro的插件中存在的高危SQL注入漏洞。该插件主要用于自定义WordPress网站的404错误页面,提升用户体验和SEO效果。然而,在3.12.0及之前的所有版本中,插件对用户通过'path'参数传入的数据处理不当,未能进行充分的输入转义和SQL查询预处理,导致存在基于时间的SQL注入(Time-based Blind SQL Injection)漏洞。
该漏洞由WordPress安全公司Wordfence的安全团队发现并报告,CVSS 3.1评分为4.9分,属于中危级别。尽管评分显示为中危,但漏洞本身的危害程度不容忽视。攻击者需要具备管理员级别(Administrator-level)或更高权限才能利用此漏洞,这一定程度上限制了漏洞的利用范围。然而,在WordPress多用户环境下,一旦攻击者通过其他途径(如弱口令、钓鱼、社会工程等)获得了管理员权限,便可利用此漏洞从数据库中提取敏感信息。
漏洞的CVSS向量表明,攻击者可以通过网络发起攻击(AV:N),攻击复杂度低(AC:L),但需要高权限(PR:H),无需用户交互(UI:N),对机密性影响高(C:H),对完整性和可用性无影响(I:N/A:N)。这意味着漏洞主要用于数据窃取,而非破坏或篡改数据。
此漏洞已在2025年10月11日公开披露,相关的修复版本也已发布。建议所有使用Custom 404 Pro插件的WordPress网站管理员立即检查并更新到最新版本,以消除潜在的安全风险。
该漏洞位于Custom 404 Pro插件的admin/Helpers.php文件的第188行附近,涉及对'path'参数的处理。具体技术原理如下:
1. **注入点**:插件在处理用户请求时,将'path'参数直接拼接到SQL查询语句中,未对用户输入进行适当的转义或参数化处理。
2. **利用方式**:攻击者构造恶意的SQL注入payload,通过'path'参数提交。由于缺乏预处理(prepared statements),恶意SQL代码会被数据库引擎直接执行。
3. **时间盲注技术**:漏洞属于基于时间的盲注(Time-based Blind SQL Injection),攻击者无法直接获取查询结果,但可以通过注入如`SLEEP()`或`BENCHMARK()`等时间延迟函数,根据数据库响应时间的长短来逐位推断数据库内容。
4. **权限要求**:由于漏洞位于管理员后台功能中,攻击者需要具备WordPress管理员(Administrator)级别或更高权限才能访问相关页面并触发漏洞。
5. **数据提取**:成功利用后,攻击者可以从数据库中提取包括用户凭据哈希、个人信息、配置数据等敏感信息。