文章总结: CVE-2026-7458是UserVerificationbyPickPluginsWordPress插件2.0.46及之前版本存在的严重认证绕过漏洞。漏洞根源在于OTP验证过程中使用PHP松散比较运算符(==),攻击者通过提交布尔值true即可绕过验证登录任意用户账户,包括管理员权限。该漏洞CVSS评分9.8,无需权限即可远程利用。建议立即升级至2.0.47版本或修改代码使用严格比较(===)进行修复。 综合评分: 87 文章分类: 漏洞分析,WEB安全,应用安全,漏洞预警,安全开发
CVE-2026-7458-UserVerificationByPickPlugins-认证绕过漏洞分析报告
md-bot md-bot
Sec打更人
2026年5月11日 15:36 中国香港
在小说阅读器读本章
去阅读
# CVE-2026-7458 漏洞分析报告
**CVE编号:** CVE-2026-7458
**标题:** CVE-2026-7458-UserVerificationByPickPlugins-认证绕过漏洞
**创建时间:** 2026-05-11T04:22:39.164479+08:00
## 漏洞描述
漏洞编号CVE-2026-7458,影响User Verification by PickPlugins插件2.0.46及之前所有版本。该插件用于WordPress站点的用户验证,提供基于一次性密码(OTP)的登录功能。漏洞根源在于插件处理OTP验证的REST API端点(user-verification/v2/process_form_data)中的’user_verification_form_wrap_process_otpLogin’函数。该函数使用PHP的松散比较运算符(==)来验证用户提交的OTP代码与服务器生成的OTP代码是否一致。当攻击者向服务器发送布尔值’true’作为OTP时,在PHP松散比较中,’true’可以等于任意非空字符串、非零整数等,因此即使攻击者没有正确的OTP,也可以轻松绕过验证。利用此漏洞,未经身份验证的攻击者可以登录为任何拥有已验证邮箱地址的用户,包括具有管理员权限的用户。漏洞严重等级为CVSS 3.1评分9.8(严重),无需任何权限、无需用户交互,攻击复杂度低,通过网络即可发起攻击。漏洞由Supanat Konprom发现,Wordfence安全团队报告。插件厂商PickPlugins已在2.0.47版本中修复此问题。攻击者可以完全控制WordPress站点,上传恶意文件、篡改内容、窃取用户数据或进行其他恶意活动。
# CVE-2026-7458-UserVerificationByPickPlugins-认证绕过漏洞
**漏洞类型:** 认证绕过
**影响应用:** User Verification by PickPlugins
**危害等级:** 高危,可能导致未授权攻击者获取管理员权限,从而完全控制WordPress站点
**影响版本:** <= 2.0.46
**利用条件:** 目标站点安装了受影响版本的插件,且存在公开的OTP登录表单(无需任何权限即可访问)
**POC 可用性:** 是
**投毒风险:** 2%
**项目地址:** zycoder0day/CVE-2026-7458
**漏洞详情:** NVD数据库
## 详情
漏洞编号CVE-2026-7458,影响User Verification by PickPlugins插件2.0.46及之前所有版本。该插件用于WordPress站点的用户验证,提供基于一次性密码(OTP)的登录功能。漏洞根源在于插件处理OTP验证的REST API端点(user-verification/v2/process_form_data)中的’user_verification_form_wrap_process_otpLogin’函数。该函数使用PHP的松散比较运算符(==)来验证用户提交的OTP代码与服务器生成的OTP代码是否一致。当攻击者向服务器发送布尔值’true’作为OTP时,在PHP松散比较中,’true’可以等于任意非空字符串、非零整数等,因此即使攻击者没有正确的OTP,也可以轻松绕过验证。利用此漏洞,未经身份验证的攻击者可以登录为任何拥有已验证邮箱地址的用户,包括具有管理员权限的用户。漏洞严重等级为CVSS 3.1评分9.8(严重),无需任何权限、无需用户交互,攻击复杂度低,通过网络即可发起攻击。漏洞由Supanat Konprom发现,Wordfence安全团队报告。插件厂商PickPlugins已在2.0.47版本中修复此问题。攻击者可以完全控制WordPress站点,上传恶意文件、篡改内容、窃取用户数据或进行其他恶意活动。
## 漏洞利用
攻击流程如下:1. 攻击者首先需要找到目标站点上公开的OTP登录页面,该页面包含了OTP登录表单。2. 使用PoC脚本的get_nonce()函数,从该页面HTML中提取必要的WordPress nonce值,该nonce用于验证表单请求的合法性。3. 调用trigger_otp()函数,向REST API端点’wp-json/user-verification/v2/process_form_data’发送POST请求,请求体包含formType=otpLogin、目标用户的email(如管理员邮箱)、steps=1和之前获取的nonce,以触发向该邮箱发送OTP验证码。此步骤是模拟正常OTP登录流程的一个环节,但并非利用所需。4. 核心利用步骤在bypass_otp()函数中:攻击者向同一REST API端点发送第二次POST请求,请求体中formType=otpLogin、email字段与之前相同、steps=2(表示验证步骤)、otp字段设置为布尔值’true’(在JSON中表示为true,无引号),以及nonce。由于松散比较漏洞,PHP后端将’true’与数据库中的任意实际OTP字符串进行比较时,结果均为真。5. 服务器验证成功后,会返回包含身份验证cookie的响应。攻击者使用这些cookie即可保持登录会话,以该用户身份访问WordPress后台。PoC脚本由安全研究员@MoritakaAz编写,代码如下:首先从目标页面提取nonce,然后触发OTP发送(非必需但模拟正常流程),最后发送带有’true’的OTP值进行绕过。该PoC仅做安全测试用途,不包含任何后门或恶意载荷。使用前需确保已获得合法授权。
## 修复建议
官方修复:插件开发商PickPlugins已在版本2.0.47中修复此问题,建议所有用户立即将User Verification by PickPlugins插件升级到最新版本(>=2.0.47)。更新可通过WordPress插件后台或WordPress官方插件目录进行。临时加固措施:如果无法立即更新,管理员可以考虑禁用插件的OTP登录功能,或者通过Web应用防火墙(WAF)规则拦截包含’otp’字段且值为’true’或’1’等可疑布尔值的JSON请求,特别是针对’/wp-json/user-verification/v2/process_form_data’端点的请求。更根本的修复方法是修改插件源代码:在相关PHP函数(如user_verification_form_wrap_process_otpLogin)中,将对OTP的松散比较(==)替换为严格比较(===)。例如,将if ($otp == $stored_otp)改为if ((string)$otp === (string)$stored_otp),确保在比较前将两个变量都强制转换为字符串类型,从而避免类型混淆导致的验证绕过。此外,建议对该端点的所有输入做严格的类型检查和过滤。官方补丁详情可在WordPress插件Trac仓库查看,变更集为3519113。
## FOFA搜索语法
"wp-content/plugins/user-verification/"
#
## 相关仓库
1. zycoder0day/CVE-2026-7458
**URL:** https://github.com/zycoder0day/CVE-2026-7458
**描述:** 仓库地址:https://github.com/zycoder0day/CVE-2026-7458
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Sec打更人 md-bot md-bot《CVE-2026-7458-UserVerificationByPickPlugins-认证绕过漏洞分析报告》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。




![暗网泄露:美国发生2.5亿美元巨额泄密事件[250,000,000行以上]](/images/random/titlepic/15.jpg)



评论