CVE-2025-10299CVE-2025-10299是WordPress插件WPBifröst – Instant Passwordless Temporary Login Links(也称为create-temporary-login插件)中存在的一个高危权限提升漏洞。该漏洞的CVSS 3.1评分为8.8分,属于高危级别。该插件主要用于生成无密码的临时登录链接,方便管理员为用户创建临时账户。然而,由于插件在处理ctl_create_link AJAX动作时缺少必要的能力检查(capability check),导致任何具有Subscriber级别及以上权限的认证用户都可以利用该漏洞创建新的管理员账户。
该漏洞由Wordfence安全团队的安全研究员发现并报告。攻击者只需要拥有一个低权限的Subscriber账户,就可以利用该漏洞将权限提升至管理员级别,完全控制目标WordPress网站。一旦获得管理员权限,攻击者可以执行任意操作,包括安装恶意插件、修改网站内容、窃取敏感数据、注入恶意代码或后门,甚至完全接管整个网站。
该漏洞影响该插件的所有版本,最高至1.0.7版本。由于该漏洞利用条件简单(仅需低权限认证账户),且危害严重(可完全接管网站),所有使用该插件的WordPress网站管理员应立即采取行动,更新插件或采取临时缓解措施。
WPBifröst插件的ctl_create_link AJAX动作负责处理创建临时登录链接的请求。在正常的业务流程中,该动作应该仅允许具有manage_options或类似管理员权限的用户调用。然而,在1.0.7及以下版本中,该AJAX动作的实现缺少对当前用户权限的验证检查(缺少current_user_can()调用或nonce验证不足)。
具体技术原理如下:
1. 插件注册了一个WordPress AJAX动作钩子,用于处理来自前端AJAX请求的链接创建功能。
2. 该动作的回调函数直接处理用户提交的参数(如用户名、邮箱、角色等),并使用wp_insert_user()或类似函数创建新用户。
3. 由于缺少能力检查(missing capability check),任何已认证的用户(包括Subscriber级别的用户)都可以直接调用该AJAX动作。
4. 攻击者可以通过构造特定的AJAX请求,传递role=administrator参数,创建一个具有管理员权限的新用户账户。
5. 创建成功后,插件会返回一个临时登录链接或密码,攻击者可以使用该链接或凭据以新创建的管理员身份登录。
利用条件:
- 攻击者需要拥有一个有效的WordPress账户(Subscriber级别或以上)
- 目标网站必须安装并启用了WPBifröst插件(版本≤1.0.7)
- 无需用户交互
- 可通过网络远程利用
修复方案:开发者已在后续版本中添加了适当的能力检查,确保只有具有相应权限的用户才能调用ctl_create_link动作。