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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-56011-Lab — # Docker-лаборатория для воспроизведения и проверки CVE-2026-56011, неаутентифицированной XSS-уязвимости в MapPress Maps для WordPress, с целями для сравнения уязвимой и пропатченной версий. | Kitploit
Инструменты/GitHubGitHub/rootdirective-sec/cve-2026-56011-lab
Анализ уязвимостейЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubrootdirective-sec/cve-2026-56011-lab

CVE-2026-56011-Lab

# Docker-лаборатория для воспроизведения и проверки CVE-2026-56011, неаутентифицированной XSS-уязвимости в MapPress Maps для WordPress, с целями для сравнения уязвимой и пропатченной версий.

Репозиторий
233 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2026-56011 - MapPress Maps для WordPress: неаутентифицированный XSS в iframe-рендеринге карт

Краткое описание

Этот репозиторий содержит локальный Docker-стенд для воспроизведения и проверки CVE-2026-56011 — неаутентифицированной уязвимости межсайтового скриптинга (Cross-Site Scripting), затрагивающей MapPress Maps для WordPress.

MapPress Maps для WordPress — это плагин WordPress, используемый для отображения карт на страницах и в записях WordPress. Уязвимое поведение затрагивает путь рендеринга карт в iframe, доступный через параметр запроса mappress=embed.

Данный стенд сравнивает две версии MapPress:

ServiceMapPress versionPurposeURL
vuln2.97.3Vulnerable comparison targethttp://localhost:8081
patched2.97.4Patched comparison targethttp://localhost:8082

Демонстрируемый путь проверки в этом локальном стенде:```text Unauthenticated browser request → GET /?mappress=embed → request supplies a crafted name value → vulnerable target renders name into an unquoted id attribute → injected onclick handler becomes a standalone HTML attribute → clicking the rendered MapPress component triggers alert(1) → patched target keeps the payload inside a quoted and escaped id attribute → clicking the rendered component does not trigger alert(1)

Уязвимая цель использует этот URL, открываемый вручную в браузере:```text
http://localhost:8081/?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

Ожидаемый уязвимый результат:```text Click on the rendered MapPress component → alert(1) pops up

Запатченная цель использует тот же payload против MapPress 2.97.4:```text
http://localhost:8082/?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

Ожидаемый результат после применения патча:```text Click on the rendered MapPress component → no alert appears

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

## Подтверждённые факты

| Утверждение | Доказательства | Как проверить в этой лабораторной работе |
| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------- |
| CVE-2026-56011 затрагивает MapPress Maps для WordPress. | Публичные уведомления об уязвимостях определяют затронутый плагин WordPress как MapPress Maps для WordPress. | Изучите раздел References и проверьте плагин, установленный в обеих целях Docker. |
| Уязвимая версия для сравнения в этой лабораторной работе — MapPress 2.97.3. | Сервис `vuln` собирает плагин с использованием `MAPPRESS_VERSION: 2.97.3`. | Изучите `docker-compose.yml` и `vuln/Dockerfile`. |
| Исправленная версия для сравнения в этой лабораторной работе — MapPress 2.97.4. | Сервис `patched` собирает плагин с использованием `MAPPRESS_VERSION: 2.97.4`. | Изучите `docker-compose.yml` и `patched/Dockerfile`. |
| В MapPress 2.97.4 было добавлено соответствующее исправление экранирования в iframe. | Официальный журнал изменений плагина для 2.97.4 гласит: `Added: escape in iframe`. | Изучите официальный журнал изменений плагина WordPress и сравните уязвимый и исправленный исходный код. |
| Уязвимый исходный код вставляет имя карты в атрибут `id` веб-компонента без кавычек. | В 2.97.3 `mappress_map.php` рендерит `<mappress-map id={$name} ...>`. | Сравните исходный код версии 2.97.3 с исходным кодом версии 2.97.4. |
| Исправленный исходный код заключает значение `id` в кавычки и экранирует его. | В 2.97.4 `mappress_map.php` рендерит `id="` с помощью `esc_attr($name)`. | Сравните diff патча между версиями 2.97.3 и 2.97.4. |
| Путь iframe доступен без аутентификации. | MapPress регистрирует `template_redirect`, когда присутствует `$_GET['mappress']`. | Запросите `/?mappress=embed...` из браузера без входа в систему. |
| Путь iframe считывает атрибуты карты из запроса. | `template_redirect()` преобразует `$_GET` в аргументы карты и вызывает рендерер iframe. | Изучите `mappress.php` и воспроизведите ручной URL. |
| Уязвимая цель допускает внедрение атрибутов через `name`. | Специально сформированное значение name может выйти за пределы незакавыченного атрибута `id` и превратиться в `onclick=alert(1)`. | Откройте уязвимый ручной URL и щёлкните отрендеренный компонент MapPress. |
| Исправленная цель блокирует тестируемое поведение внедрения атрибутов. | Исправленный вывод сохраняет полную полезную нагрузку внутри закавыченного атрибута `id`. | Откройте исправленный ручной URL и щёлкните отрендеренный компонент MapPress. |

## Допущения и неизвестные

Эта лабораторная работа использует MapPress 2.97.3 в качестве уязвимой цели для сравнения, поскольку публичные уведомления указывают, что затронуты версии до 2.97.3 включительно, а diff исходного кода показывает уязвимый рендеринг атрибута без кавычек в этой версии.

Эта лабораторная работа использует MapPress 2.97.4 в качестве исправленной цели для сравнения, поскольку публичные уведомления указывают 2.97.4 как исправленную версию, а официальный журнал изменений сообщает, что в путь iframe было добавлено экранирование.

Тестируемое уязвимое поведение — это неаутентифицированный путь рендеринга iframe:```text
GET /?mappress=embed&name=<crafted-value>

Эта лабораторная работа посвящена ручному выполнению в браузере безвредной alert-нагрузки:```text name=cve56011 onclick=alert(1)

Лабораторный стенд не пытается доказать цепочку доставки хранимых данных. Некоторые публичные уведомления классифицируют уязвимость как хранимую XSS. Этот репозиторий сосредоточен на подтверждённом исходным кодом приёмнике рендеринга iframe и поведении «уязвимая версия против исправленной», которое можно воспроизвести локально через неаутентифицированный маршрут `mappress=embed`.

Лабораторный стенд не демонстрирует:

* сохранение полезной нагрузки,
* компрометацию учётной записи WordPress,
* кражу сессии администратора,
* кражу nonce,
* внешние обратные вызовы,
* сбор данных при слепой XSS,
* кражу учётных данных,
* дамп базы данных,
* вредоносное ПО,
* персистентность,
* или атаки на системы, не относящиеся к лабораторному стенду.

Ручная проверка в браузере доказывает значимое для безопасности различие в рендеринге:```text
MapPress 2.97.3:
  crafted name value becomes executable onclick attribute

MapPress 2.97.4:
  crafted name value remains inside the quoted id attribute

Root Cause Summary

Корневая причина CVE-2026-56011 — некорректное кодирование вывода для значения name карты, когда MapPress рендерит веб-компонент в пути вывода карты через iframe.

Уязвимый путь кода принимает атрибуты рендеринга карты из запроса и в конечном итоге отображает пользовательский HTML-элемент:```html <mappress-map ...>

В MapPress 2.97.3, имя карты вставляется непосредственно в атрибут `id` без кавычек и без экранирования в контексте атрибута:```php
return "<div></div>\r\n<mappress-map id={$name} {$atts}>\r\n$pois\r\n</mappress-map>\r\n";

Это небезопасно, поскольку значение используется в контексте HTML-атрибута. Если атакующий контролирует name, значение, содержащее пробел, может завершить предполагаемое значение id и ввести новый атрибут.

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