WordPress 的 miniOrange Two-Factor Authentication 插件中存在一个身份验证绕过漏洞,已持有受害者有效密码的攻击者可以不受限制地暴力破解第二因素,从而完全绕过 2FA。
| CVE ID | CVE-2026-77771 |
| 漏洞类型 | 身份验证绕过(AUTHBYPASS) |
| CWE | CWE-287: 身份验证不当 |
| OWASP Top 10 (2017) | A2: 失效的身份验证和会话管理 |
| CVSS 3.1 评分 | 7.5(高) |
| CVSS 3.1 向量 | AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
| 研究人员 | Pervin Zahidli(pervinzahidli) |
| 状态 | 已由厂商修复 |
| 产品 | 受影响版本 | 修复版本 |
|---|---|---|
| miniOrange Two-Factor Authentication — 免费版 | < 6.3.1 | 6.3.1 |
| miniOrange Two-Factor Authentication — 专业版 | < 19.3 |
该插件对第二因素验证失败次数实施了限制,但支撑该限制的计数器并未限定在受攻击的账户范围内。相反,它以客户端提供且可在每次请求中随意更改的标识符作为键。
由于攻击者控制该键,每个请求都可以落入一个全新的计数器桶中。因此,锁定状态永远不会针对目标用户累积,攻击者可尝试的一次性密码猜测次数实际上是无限的。
同一插件中的第二个验证端点完全没有实施任何尝试次数限制,因此即使不操纵该标识符,也可以通过该路径攻击第二因素。
实际结果是,OTP——一个密钥空间很小的短数字秘密——可以在其有效期内被枚举,第二身份验证因素无法提供有意义的保护。
PR:L 和 AC:H。持有泄露、被钓鱼或重复使用的凭据的攻击者,即使目标启用了 2FA,也能以受害者身份完成身份验证。若受害者是管理员,则会导致 WordPress 安装被完全攻陷——机密性、完整性和可用性均受到影响。
此处有意不发布概念验证。该问题已在上游修复;足以复现该问题的细节已提供给厂商和 WPScan。
高层级复现概述:
wp-login.php。更新插件至版本 6.3.1(免费版)或 19.3(专业版)或更高版本。
针对无法立即更新的运维人员的纵深防御措施:
wp-login.php 以及插件的 AJAX/REST 验证端点的访问。针对实现第二因素的开发人员的指导:
| 日期 | 事件 |
|---|---|
| 2026-09-08 | 公开发布 |
| 2026-09-08 | 添加至 WPScan 漏洞数据库 |
| 2026-09-09 | 条目最后更新 |
e1e57673-18cb-4157-9d58-547af7101b04由 Pervin Zahidli 发现并报告 — https://www.zahidlipervin.site/
本文档出于防御和教育目的发布。此处描述的漏洞已在上游修复。对您不拥有或未获得明确书面授权进行评估的系统进行测试是违法的。
| 19.3 |