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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-7537 — MDJM Event Management <= 1.7.8.3 - Произвольная загрузка файла аутентифицированным пользователем (Администратор+) через параметр 'mdjm_email_upload_file' | Kitploit
Инструменты/GitHubGitHub/d0n601/cve-2026-7537
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на Проникновение
GitHubd0n601/cve-2026-7537

CVE-2026-7537

MDJM Event Management <= 1.7.8.3 - Произвольная загрузка файла аутентифицированным пользователем (Администратор+) через параметр 'mdjm_email_upload_file'

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

Популярное

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

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

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

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

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

MDJM Event Management <= 1.7.8.3 - Аутентифицированная (Администратор+) произвольная загрузка файлов через параметр 'mdjm_email_upload_file'

Плагин WordPress MDJM Event Management (версии 1.7.8.3 и более ранние) содержит уязвимость произвольной загрузки файлов, которая позволяет аутентифицированным администраторам загружать вредоносные PHP-файлы на сервер, что потенциально может привести к удалённому выполнению кода.

TL;DR Эксплойты

Предоставлен POC CVE-2026-7537.py, демонстрирующий, как аутентифицированный злоумышленник загружает shell.php и выполняет удалённый код:

root@kitploit:~
python3 ./CVE-2026-7537.py http://target-site.com admin password123
[+] Logging into: http://target-site.com/wp-admin
[+] Extracting nonce values...
[+] Uploading web shell: shell.php
[+] Web Shell Location: http://target-site.com/wp-content/uploads/2026/02/shell.php
[+]
[+] Executing test command: id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Техническое описание

Уязвимость существует в функции mdjm_send_comm_email() в функционале коммуникаций. Функция загрузки не выполняет надлежащей проверки файлов при обработке вложений для email-коммуникаций. Это позволяет аутентифицированным пользователям с правом mdjm_comms_send (по умолчанию администраторам и MDJM-администраторам) загружать произвольные файлы, включая PHP-файлы, которые могут быть выполнены на сервере.

Анализ вектора атаки

Источник: Пользовательский ввод из $_FILES['mdjm_email_upload_file'] Сток: move_uploaded_file($tmp_path, $file_path) в comms-functions.php#L248

Уязвимость возникает по следующим причинам:

  1. Регистрация маршрута: Форма коммуникаций доступна пользователям с правом send_comms через comms-functions.php#L24.
  2. Проверка прав: Право mdjm_comms_send предоставляется пользователям с разрешением manage_mdjm через class-mdjm-permissions.php#L626.
  3. Права ролей по умолчанию: Роль DJ (class-mdjm-roles.php#L97-L104) по умолчанию НЕ имеет права mdjm_comms_send — только администраторы.
  4. Обработка действий: Отправленные формы обрабатываются через функцию mdjm_process_actions() в admin-actions.php#L26.
  5. Вызов обработчика: Действие запускает функцию mdjm_send_comm_email(), зарегистрированную в comms-functions.php#L300.
  6. Проверка nonce: Хотя защита от CSRF реализована через проверку nonce в comms-functions.php#L235, дальнейшая проверка файлов отсутствует.

Местоположение уязвимого кода

Файл: includes/admin/communications/comms-functions.php#L241-L251

root@kitploit:~
if ( isset( $_FILES['mdjm_email_upload_file'] ) && '' !== $_FILES['mdjm_email_upload_file']['name'] ) {
    $upload_dir = wp_upload_dir();

    $file_name = $_FILES['mdjm_email_upload_file']['name']; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidated
    $file_path = $upload_dir['path'] . '/' . $file_name;
    $tmp_path  = $_FILES['mdjm_email_upload_file']['tmp_name']; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidated

    if ( move_uploaded_file( $tmp_path, $file_path ) ) {
        $attachments[] = $file_path;
    }
}
Скачать инструмент
  • Обработка входных данных: Управляемые пользователем данные файла из $_FILES['mdjm_email_upload_file'] обрабатываются напрямую без проверки в comms-functions.php#L241-L251.
  • Обработка файла: Имя файла берётся напрямую из пользовательского ввода без санитизации и проверки расширения.
  • Хранение файлов: Файлы сохраняются в каталог загрузок WordPress (/wp-content/uploads/YYYY/MM/) с помощью move_uploaded_file() без каких-либо проверок безопасности.