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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-87796 — Набор для воспроизведения и PoC-скрипт для CVE-2026-87796 — неаутентифицированной RCE через произвольную загрузку файлов в Multi Uploader for Gravity Forms <= 1.1.9, с лабораторией Docker на loopback. | Kitploit
Инструменты/GitHubGitHub/abraxas/cve-2026-87796
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеСтатьи и ИсследованияОбучение и ОбразованиеРазработка Полезной НагрузкиЛаборатории и Практика
GitHubabraxas/cve-2026-87796

CVE-2026-87796

Набор для воспроизведения и PoC-скрипт для CVE-2026-87796 — неаутентифицированной RCE через произвольную загрузку файлов в Multi Uploader for Gravity Forms <= 1.1.9, с лабораторией Docker на loopback.

4 ч 29 мин назадЕщё не проверено
Репозиторий

Популярное

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

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

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

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

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

Abraxas Labs — CVE-2026-87796

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  CVE-2026-87796

CVE-2026-87796

Multi Uploader for Gravity Forms 1.1.9 — sh1zen

Плагин Multi Uploader for Gravity Forms для WordPress уязвим к произвольной загрузке файлов во всех версиях вплоть до 1.1.9 включительно через функцию move_file. Это обусловлено недостаточной проверкой типа файла при обработке чанковой загрузки. Это позволяет неаутентифицированным злоумышленникам загружать произвольные файлы на сервер уязвимого сайта, что может сделать возможным удалённое выполнение кода.

CVECVE-2026-87796 · CVE.org
CWECWE-434
CVSSCritical: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ПродуктMulti Uploader for Gravity Forms
Затронутовсе версии вплоть до 1.1.9 (включительно)
Исправленопатч вендора — см. ссылки
Аутентификацияотсутствует (см. карту исходников)
Лабораториятолько 127.0.0.1 · пакет для раскрытия вендору/клиенту, не сканер

Рекомендации (из карты исходников)

В рекомендациях указана move_file. Это приватный PHP-метод, а не HTTP action=. HTTP-действие — gfmu-plupload-submit. Чанковая или нечанковая загрузка определяется по REQUEST[chunks]>1. Имена PHP-функций — это не admin-ajax action=.


Точка входа

  • Метод: POST
  • Путь: /wp-admin/admin-ajax.php
  • Маршрутизатор: wp_ajax_nopriv_gfmu-plupload-submit → GFMUHandlePluploader::plupload_ajax_submit. Поле nonce — REQUEST[nonce] для действия gfmu-upload-nonce. Не придумывайте другое ajax-действие.
  • Примечания: CVE-2026-87796: чанковый handleUpload (REQUEST chunks>1) копирует собранный файл с помощью move_file ДО validateUploadedFile. Нечанковый сначала валидирует. Без поля enable_chunked имеет значение false, и toBytes(ini 2M) < sizeLimit 10mb возвращает 'try activate chunking' до любой записи. Заглушка лаборатории RGFormsModel::get_field возвращает поле multi-uploader с chunk_size=2mb, поэтому эта проверка пропускается. Отправьте currentFormID=1 и currentFieldID=1. Получите nonce со страницы со слагом gfmu-lab-nonce. Свидетель — GET /wp-content/uploads/gfmu-uploads-tmp/poc_witness.php содержит POC_WITNESS_87796 (GIF89a + echo, не шелл). Два чанковых POST, затем GET.

Цепочка вызовов

  • POST /wp-admin/admin-ajax.php action=gfmu-plupload-submit (nopriv, GFMUAddon.class.php:125)
  • GFMUHandlePluploader::plupload_ajax_submit nonce gfmu-upload-nonce (GFMUHandlePluploader.class.php:257-262)
  • GFMU_FileUploader::handleUpload chunks&gt;1 (GFMU_FileUploader.php:231-319)
  • move_file копирует, затем unlink tmp (GFMU_FileUploader.php:319, 545-560)
  • validateUploadedFile только ПОСЛЕ того, как файл уже находится в $target (322) — в отличие от нечанкового, который валидирует первым (375)
  • GET /wp-content/uploads/gfmu-uploads-tmp/&lt;name&gt; для POC_WITNESS_87796

Предусловия лаборатории

  • WordPress с активным gf-multi-uploader 1.1.9
  • Заглушка лаборатории GF mu-plugin, чтобы GFForms существовал и nopriv AJAX регистрировался
  • Публичная страница со слагом gfmu-lab-nonce с GFMU_NONCE= для uid 0
  • Не передавайте currentFormID (нет реальных форм Gravity Forms)

Свидетель

HTTP GET загруженного файла возвращает уникальную строку POC_WITNESS_87796. JSON result=success плюс этот GET — это SUCCESS. HTML темы, admin-ajax 0 или Server error. nonce fail — это не оно.

Не успех

  • обычный 200 hello world HTML
  • admin-ajax 400 body 0
  • result error / Server error. nonce
  • недопустимое расширение без файла, который всё равно отдаёт свидетеля по GET
  • reverse shell или исходящее соединение
  • загрузка разрешённого jpg/png, который не является точкой произвольного типа

Патч / устранение

Сделайте это в первую очередь: Примените патч вендора для Multi Uploader for Gravity Forms. См. ссылки.

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

  • Повторно запустите CVE-2026-87796-Abraxas-Labs.py против исправленной сборки: сопоставленный свидетель не должен появиться.
  • Подтвердите рекомендацию вендора / changeset в развёрнутом дереве (см. ссылки).
  • Сигнатура WAF — это отсрочка, а не патч.

Если вы не можете обновиться немедленно

  • Отключите или изолируйте затронутый компонент.
  • Ищите условие свидетеля на продакшене (новые привилегированные пользователи, неожиданные файлы, внедрённые строки — всё, что называет карта этой CVE).

Воспроизведение (авторизованная лаборатория)

Цель — только http://127.0.0.1:8088 (или loopback, который вы привязали). Не направляйте этот скрипт в интернет.

root@kitploit:~
python3 CVE-2026-87796-Abraxas-Labs.py

Успех — это свидетель выше в теле ответа. Обычный 200 HTML — это не оно.


Образы лаборатории

Loopback-стек, использованный для воспроизведения. Официальные образы, если только Dockerfile в этой папке не собирает из исходников.

  • lab/docker-compose.yml
  • lab/docker-compose.override.yml
  • lab/Dockerfile
root@kitploit:~
cd lab
docker compose up --force-recreate

Привяжите дерево уязвимого продукта рядом с Compose, если YAML монтирует локальный каталог (zip плагина / тег исходников из таблицы версий). Не публикуйте ничего, кроме 127.0.0.1.


Ссылки

  • CVE-2026-87796 · NVD

  • CVE-2026-87796 · CVE.org

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/GFMUAddon.class.php#L125

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMUHandlePluploader.class.php#L257

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L319

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L322

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L560

  • www.wordfence.com/threat-intel/vulnerabilities/id/47337bc1-fa3d-470c-9524-859295261017?source=cve

  • github.com/advisories/GHSA-h7vp-g8q2-89c8

  • nvd.nist.gov/vuln/detail/CVE-2026-87796

  • Каталог плагинов: gf-multi-uploader

  • Браузер Trac: plugins.trac.wordpress.org/gf-multi-uploader

  • Теги SVN: plugins.svn.wordpress.org/gf-multi-uploader

  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null


Записи (структурированные)

root@kitploit:~
# CVE-2026-87796  (structured records)

- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-87796`
- CWE: CWE-434
- published: 2026-09-17T05:17:02.123

## NVD description

The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.1.9 via the move_file function. This is due to insufficient file type validation during chunked upload handling. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.

## MITRE description

The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.1.9 via the move_file function. This is due to insufficient file type validation during chunked upload handling. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.

## Affected

- sh1zen Multi Uploader for Gravity Forms 0 affected

## References (JSON sources only)

- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/GFMUAddon.class.php#L125
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMUHandlePluploader.class.php#L257
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L319
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L322
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L560
- https://www.wordfence.com/threat-intel/vulnerabilities/id/47337bc1-fa3d-470c-9524-859295261017?source=cve
- https://github.com/advisories/GHSA-h7vp-g8q2-89c8
- https://nvd.nist.gov/vuln/detail/CVE-2026-87796

## GitHub advisory

The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload...

The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.1.9 via the move_file function. This is due to insufficient file type validation during chunked upload handling. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.

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

Этот пакет предназначен для вендора, владельца сайта и лицензированных лабораторий. Скрипт обращается к 127.0.0.1. Использование его против систем, которыми вы не владеете, не авторизовано Abraxas Labs. Без гарантий.

abraxaslabs.tech · github.com/abraxas · @abraxas_null

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