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

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

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

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

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

Категории

Все категории
Loading categories
cve-2026-87902 — Локальная лаборатория на базе Docker, воспроизводящая CVE-2026-87902 — обход пути в шаблоне страницы WordPress, приводящий к локальному включению PHP-файлов и RCE на основе PEAR, со скриптом PoC. | Kitploit
Инструменты/GitHubGitHub/xiaxiu555/cve-2026-87902
Безопасность контейнеровАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьОбучение и ОбразованиеРазработка Полезной НагрузкиЛаборатории и Практика
GitHubxiaxiu555/cve-2026-87902

cve-2026-87902

Локальная лаборатория на базе Docker, воспроизводящая CVE-2026-87902 — обход пути в шаблоне страницы WordPress, приводящий к локальному включению PHP-файлов и RCE на основе PEAR, со скриптом PoC.

129 дней назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2026-87902 WordPress локальный полигон

Локальный Docker-полигон для воспроизведения CVE-2026-87902 (обход пути при разборе шаблонов страниц WordPress → локальное включение PHP-файлов → RCE через запись файлов с помощью pearcmd).

⚠️ Только для изучения безопасности и исследований в авторизованной среде. Запускать только в локальном Docker, запрещено использовать против любых неавторизованных целей. Уязвимость была исправлена официально 2026-09-22, патчи выпущены для всех поддерживаемых веток.

Информация об уязвимости

  • CVE: CVE-2026-87902(GHSA-7hp8-65ch-5whp),CWE-98 PHP-включение файлов, CVSS 4.0 9.2 Critical
  • Затронуто: WordPress 4.7.0 – 7.1.1 (исправлено: 7.1.2 / 7.0.6, остальные ветки обратно перенесены в 4.7.37)
  • Принцип: get_page_template() выполняет повторный urldecode() для контролируемого пользователем параметра pagename, после чего подставляет результат в имена кандидатов шаблонов; locate_template() ищет файлы с помощью file_exists(), а перед загрузкой выполняет только проверки realpath/суффикса/читаемости, не проверяя, что путь по-прежнему находится внутри каталога темы (канонизация есть, containment отсутствует)
  • Оригинальный PoC и write-up (Robert Ressl):
    • https://github.com/ressl/cve-2026-87902-poc
    • https://ressl.ch/blog/cve-2026-87902-wordpress/
    • https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-7hp8-65ch-5whp

Четыре условия эксплуатации, предварительно настроенные в полигоне

#УсловиеКак это выполняется в данном полигоне
1Опубликованная страница без указанного пользовательского шаблонаsetup.sh автоматически создаёт и очищает демонстрационную страницу
2В корне активной темы есть каталог page-*theme/mytheme/page-templates/ (активированная тема содержит этот каталог)
3Читаемый /usr/local/lib/php/pearcmd.phpОфициальный образ php содержит PEAR
4register_argc_argv=On + записываемое место размещенияВ официальном образе нет php.ini, значение по умолчанию при компиляции — On; /tmp доступен для записи

Быстрый старт

docker compose up -d      # при первом запуске автоматически загружаются образы (около 1 ГБ)
sh setup.sh               # установка + размещение /flag + проверка четырёх условий
python cve-2026-87902.py --url http://127.0.0.1:8091

Ожидаемый вывод:

[*] page id  : 4 (about, default template, via /index.php?rest_route=...)
[*] depth 7  : stage 1 HTTP 200, stage 2 HTTP 200
[+] marker   : 'CVE-2026-87902-POC-OK' found 12 time(s) in the stage-2 response
[+] EXPLOIT SUCCESSFUL - PHP executed with the web-server account's privileges

(12 раз = в конфигурационном файле PEAR 12 параметров конфигурации, в каждый встроена копия payload)

Проверка и объяснение

Просмотр файла, записанного PEAR на этапе stage 1 (сериализованный текст, начинающийся с #PEAR_Config 0.9, payload встроен обычными символами в 12 параметров конфигурации):

docker compose exec wordpress cat /tmp/wp-pear-rce-flag.php
  • stage 1: с помощью обхода пути включается pearcmd.php; register_argc_argv=On заставляет query string разбиваться по + на $argv, и pearcmd думает, что его вызвали из терминала; config-create <root> <file> записывает root (со встроенным PHP-кодом) как есть в целевой файл
  • stage 2: та же цепочка обхода пути включает только что записанный файл, <?=...?> выполняется, читается /flag и выводится в ответ

Панель администратора и очистка

  • Панель WordPress: http://127.0.0.1:8091/wp-admin (admin / admin123, только для локального стенда)
  • Содержимое flag: CVE-2026-87902-POC-OK (находится в контейнере в /flag)
  • Пользователям Windows следует выполнять setup.sh в Git Bash

Полная очистка (контейнеры + тома данных + образы):

docker compose down -v --rmi all

Описание файлов

docker-compose.yml     WordPress 7.0.2-php8.3-apache + MySQL 8.4 + wp-cli
theme/mytheme/         экспериментальная тема (содержит каталог page-templates/, условие ②)
cve-2026-87902.py      PoC (из ressl/cve-2026-87902-poc, авторские права принадлежат оригинальному автору)
setup.sh               установка одной командой + самопроверка четырёх условий

Благодарности и заявление

  • Обнаружение и раскрытие уязвимости: Robert Ressl (ressl.ch), скоординированное раскрытие через официальный процесс безопасности WordPress (HackerOne)
  • Данный репозиторий содержит только сборку из официальных образов, каталогов официальных соглашений и публичного PoC, предназначенную для учебного воспроизведения
  • Все последствия использования данного полигона несёт пользователь
Скачать инструмент