CVE-2025-15370CVE-2025-15370是WordPress平台下"The Shield: Blocks Bots, Protects Users, and Prevents Security Breaches"插件中的一个高危安全漏洞。该插件是WordPress生态中广泛使用的安全防护工具,提供反垃圾邮件、防暴力破解、双因素认证等功能。漏洞存在于MfaGoogleAuthToggle类中,由于缺少对用户控制参数的有效验证,导致任何具有Subscriber级别权限的认证用户都可以通过构造恶意请求,禁用站点上任意其他用户的Google Authenticator双因素认证功能。此漏洞的CVSS评分为4.3,属于中等严重程度,但由于其可绕过双因素认证的特性,在实际攻击场景中可能造成严重后果。攻击者首先需要拥有一个有效的WordPress账户(最低Subscriber权限),然后可以通过操纵用户ID参数来禁用管理员或其他高权限用户的双因素认证,进而实施后续的账户接管攻击。该漏洞影响插件所有版本直至21.0.9版本。
该漏洞的根本原因在于MfaGoogleAuthToggle类对用户提供的密钥参数缺乏充分的访问控制验证。在正常的双因素认证管理流程中,用户应该只能修改自己的认证设置,但代码实现中直接使用了用户可控的输入作为对象标识符,而没有进行所有权验证或权限检查。攻击者可以通过修改请求中的用户ID参数(如user_id或uid),指定目标用户(通常是管理员),然后发送禁用该用户Google Authenticator的请求。由于服务器端未验证当前认证用户是否具有修改目标用户设置的权限,攻击请求会被成功处理。漏洞利用的关键在于理解WordPress的权限模型——Subscriber角色虽然权限最低,但仍然是经过认证的用户,可以访问某些管理端点。攻击者利用这种权限模型的不一致性,结合IDOR漏洞实现权限提升。修复方案需要在MfaGoogleAuthToggle类的处理逻辑中添加当前用户身份与目标用户的匹配验证,确保只有用户本人或具有相应管理权限的管理员才能修改双因素认证设置。