CVE-2025-12770CVE-2025-12770是WordPress New User Approve插件中的一个严重安全漏洞,存在于所有版本直至3.0.9。该漏洞由于Zapier REST API端点的API密钥验证机制存在缺陷,攻击者可以利用PHP类型混淆(type juggling)特性,通过发送api_key参数为"0"的请求来绕过身份验证。在目标站点未配置Zapier API密钥的情况下,未经身份认证的攻击者可以访问Zapier REST API端点,非法获取用户的个人身份信息(PII),包括用户名和电子邮件地址等敏感数据。此漏洞无需任何权限或用户交互即可被利用,CVSS评分为5.3,属于中等严重级别。攻击者可以利用泄露的用户信息进行进一步的社会工程攻击、垃圾邮件发送或其他恶意活动。
该漏洞的根本原因在于New User Approve插件的Zapier REST API实现中使用了PHP的松散比较(loose comparison)来验证API密钥。在rest-api.php文件的第40行和第104行附近,代码使用==而非===进行密钥比较。当攻击者发送api_key参数值为"0"的请求时,PHP会将"0"与未设置的API密钥(空字符串"")进行松散比较,由于PHP的类型转换规则,空字符串和"0"在松散比较中被视为相等("0" == ""返回false,但逻辑是"0" == $stored_key,其中$stored_key为空时可能触发其他逻辑)。实际上,攻击者利用的是当Zapier API密钥未配置时,插件未能正确拒绝请求。攻击者只需构造一个简单的HTTP请求,将api_key参数设置为"0",即可通过验证并访问所有用户的PII数据。该漏洞影响所有使用New User Approve插件且启用了Zapier集成但未配置API密钥的WordPress站点。