CVE-2025-10730CVE-2025-10730是WordPress Wp tabber widget插件中存在的一个SQL注入漏洞。该漏洞影响该插件所有版本,最高至4.0版本(含)。该漏洞由WordFence安全团队的安全研究员发现并报告。
Wp tabber widget是一款用于WordPress的标签页小工具插件,允许用户在文章或页面中通过短代码(shortcode)展示标签式的内容展示效果。然而,该插件在处理用户通过短代码传入的参数时,未对参数进行充分的转义处理,也未对SQL查询进行充分的预处理(如使用参数化查询或预编译语句),导致攻击者可以通过精心构造的恶意参数向现有SQL查询中注入额外的SQL语句。
该漏洞的CVSS 3.1评分为6.5,属于中危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),但需要低权限认证(PR:L),无需用户交互(UI:N)。该漏洞对机密性影响为高(C:H),对完整性和可用性无影响。这意味着攻击者可以利用此漏洞从数据库中提取敏感信息,如用户凭证、个人数据等,但无法修改或破坏数据库内容。
由于该漏洞需要Contributor级别及以上的认证权限才能利用,因此攻击者需要先拥有一个有效的WordPress账户。但考虑到许多WordPress网站允许用户注册或存在弱凭证情况,这一限制条件并不能完全阻止攻击行为。
该漏洞位于Wp tabber widget插件的短代码处理逻辑中,具体在wp-tabber-widget.php文件的第51行附近。
漏洞原理:
插件注册了一个名为'wp-tabber-widget'的短代码(shortcode),当WordPress解析包含该短代码的内容时,会调用相应的处理函数。在处理过程中,插件将用户通过短代码属性传入的参数直接拼接到SQL查询语句中,而没有使用WordPress推荐的wpdb::prepare()函数进行参数化查询,也没有对用户输入进行适当的转义处理(如esc_sql()或wpdb::escape())。
利用方式:
1. 攻击者首先需要拥有一个Contributor级别或以上的WordPress账户;
2. 攻击者创建一篇新的文章或页面,在内容中插入恶意的'wp-tabber-widget'短代码;
3. 在短代码的属性中注入恶意的SQL片段,例如通过UNION SELECT语句或基于时间的盲注语句;
4. 当管理员或其他用户预览或查看该文章时,恶意SQL查询将在数据库中执行;
5. 攻击者通过SQL注入可以提取数据库中的敏感信息,包括wp_users表中的用户名和密码哈希等。
由于该漏洞是基于时间的盲注或UNION注入,攻击者可以通过构造特定的SQL语句来逐步提取数据库中的数据,而无需直接修改数据库内容。