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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-10818 — WPForms Pro <= 1.10.1.1 - Неавторизованная произвольная запись файла через порядок инициализации/завершения Chunked Upload | Kitploit
Инструменты/GitHubGitHub/nxploited/cve-2026-10818
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на Проникновение
GitHubnxploited/cve-2026-10818

CVE-2026-10818

WPForms Pro <= 1.10.1.1 - Неавторизованная произвольная запись файла через порядок инициализации/завершения Chunked Upload

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

Популярное

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

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

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

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

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

CVE-2026-10818

WPForms Pro <= 1.10.1.1 — Неаутентифицированная произвольная запись файла через порядок инициализации/финализации чанковой загрузки

CVE CVSS CWE Python

CVE-2026-10818

WPForms Pro ≤ 1.10.1.1 — Неаутентифицированная произвольная запись файла через чанковую загрузку

Эксплойт PoC
Порядок инициализации/финализации чанковой загрузки → Предсказуемый путь → Удаленное выполнение кода


Обзор уязвимости

ПолеОписание
CVE IDCVE-2026-10818
Уязвимый плагинWPForms Pro (WordPress)
Уязвимые версииВсе версии до 1.10.1.1 включительно
ТипНеаутентифицированная произвольная запись файла
CWECWE-434: Неограниченная загрузка файла опасного типа
CVSS 3.18.1 ВЫСОКИЙ — CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
АутентификацияНе требуется

Плагин WPForms Pro для WordPress уязвим к произвольной загрузке файлов во всех версиях до 1.10.1.1 включительно через функцию ajax_chunk_upload_finalize. Это связано с тем, что проверка типа файла происходит после того, как метаданные чанка и содержимое файла уже записаны на диск, а собранный файл не удаляется при неудачной проверке. Это позволяет неаутентифицированным атакующим загружать файлы, которые могут быть исполняемыми, что делает возможным удаленное выполнение кода.

Основная причина

root@kitploit:~
wpforms_upload_chunk_init     →  Metadata created BEFORE extension validation
wpforms_upload_chunk          →  Chunk bytes written regardless of init result
wpforms_file_chunks_uploaded  →  File assembled BEFORE type validation
                              →  File persists on disk even when validation fails

Цепочка уязвимости использует критическую ошибку в порядке выполнения операций жизненного цикла чанковой загрузки:

  1. Init создает метаданные на диске до проверки, разрешено ли расширение файла
  2. Chunk загружает метаданные и записывает сырые байты в предсказуемый путь (SHA1(UUID)-0.chunk)
  3. Finalize собирает итоговый файл до проверки MIME-типа — и не выполняет очистку при ошибке
  4. Ни на одной из трех AJAX-конечных точек не применяется проверка nonce
  5. Все три маршрута зарегистрированы для неаутентифицированных посетителей (wp_ajax_nopriv_*)

Возможности

  • Сканирование нескольких целей — передайте список целей, обработка выполняется конкурентно
  • Автоматическое обнаружение форм — сканирует страницы, карты сайта и 100+ распространенных путей для поиска полей загрузки WPForms
  • Определение версии — читает readme.txt и HTML-исходник для выявления уязвимых версий WPForms
  • Проверка AJAX-маршрутов — подтверждает, что wpforms_upload_chunk_init доступен извне перед началом работы
  • Двойная стратегия загрузки:
    • Завершенные загрузки (init → chunk → finalize) с безопасными и исполняемыми расширениями
    • Загрузки только чанков (init → chunk, без finalize) для детерминированных путей файлов через SHA1(UUID)
  • Расчет предсказуемого пути — вычисляет SHA1(контролируемый клиентом UUID) для получения точного URL чанка без угадывания
  • Сравнение листинга директорий — делает снимки /wpforms/tmp/ до и после загрузки исполняемых файлов для идентификации новых файлов
  • Извлечение утечки хэша — сканирует все тела ответов и заголовки на наличие шаблонов имен файлов <32hex>.<ext>
  • Проверка выполнения — подтверждает фактическое выполнение PHP, проверяя уникальную сигнатуру в теле ответа, отфильтровывая статическую отдачу файлов и раскрытие исходного кода
  • Зондирование PATH_INFO — пытается обойти обработчик сервера (.chunk/x.php, /.php), чтобы вызвать выполнение PHP на расширениях, не являющихся PHP
  • Полиглотные полезные нагрузки — генерирует корректные PNG-изображения со встроенным PHP после IEND-чанка
  • Профессиональный вывод — цветной терминальный дисплей в реальном времени с отслеживанием статуса каждой цели

Требования

root@kitploit:~
Python >= 3.8
root@kitploit:~
pip install requests urllib3 beautifulsoup4

beautifulsoup4 является опциональным, но рекомендуется для более надежного извлечения полей форм.


Использование

root@kitploit:~
python CVE-2026-10818.py

Вам будет предложено ввести:

ЗапросОписаниеПо умолчанию
Файл с целямиПуть к текстовому файлу, содержащему по одной цели в строкеlist.txt
ПотокиКоличество одновременных рабочих потоков (1–20)5

Формат файла с целями

root@kitploit:~
https://example.com
http://target.org
subdomain.example.net
192.168.1.100
https://example.com/wordpress

По одному URL в строке. Поддерживаются http://, https://, домены без протокола, IP-адреса и установки в подкаталогах.


Вывод

Терминал

root@kitploit:~
  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  ┃                                                                ┃
  ┃      ██▄    ██  ██  ██                                         ┃
  ┃      ████   ██   ████                                          ┃
  ┃      ██ ██  ██    ██                                           ┃
  ┃      ██  ████   ████                                           ┃
  ┃      ██   ███  ██  ██                                          ┃
  ┃                                                                ┃
  ┃      Nxploited  ━  Khaled Alenazi  ━  T.m @Kxploit             ┃
  ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
  ┃      CVE-2026-10818     WPForms Pro ≤ 1.10.1.1                 ┃
  ┃      Chunked Upload → Predictable Path → RCE                  ┃
  ┃      Results ━▸ Nx_hit/                                        ┃
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

В процессе сканирования каждая цель проходит через помеченные этапы:

root@kitploit:~
  02:14:52  ◆  target.com                        VER  WPForms 1.9.3.1 vulnerable
  02:14:53  ◆  target.com                       FORM  1 upload form(s) on /contact
  02:14:53  ◆  target.com                     UPLOAD  6 safe + 5 exec payloads
  02:14:55  ◆  target.com                        FIN  poly_png → a8f3...1b22.png URL returned
  02:14:57  ◆  target.com                        DIR  listing enabled, 4 file(s) before exec upload
  02:14:59  ◐  target.com                       EXEC  shell_php → finalized on disk (hash unknown)
  02:15:01  ◆  target.com                        DIR  1 NEW exec file(s) after upload!

  ●  target.com  SHELL  dir-new:7c4f...e8a1.php  https://target.com/wp-content/uploads/wpforms/tmp/7c4f...e8a1.php

Файлы результатов

Все результаты сохраняются в Nx_hit/:

ФайлСодержимое
Nx_shell.txtПодтвержденное RCE — URL, метка и превью тела ответа
Nx_vuln.txtПодтвержденная произвольная запись файла без проверки выполнения

Итог

root@kitploit:~
  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  ┃  COMPLETE   150 targets processed                              ┃
  ┃                                                                ┃
  ┃  ● 3 shell     ◐ 12 vuln     ○ 85 skip     ✗ 50 miss          ┃
  ┃                                                                ┃
  ┃  Results ━▸ Nx_hit/                                            ┃
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
СимволЗначение
● shellВыполнение PHP подтверждено на удаленной цели
◐ vulnФайл записан на диск, выполнение не подтверждено
○ skipЦель недоступна, исправлена или не найдена форма загрузки
✗ missПопытки загрузки не удались

Конвейер сканирования

root@kitploit:~
Target
  │
  ├─ Reachability (HTTPS → HTTP fallback)
  ├─ WPForms Version Detection
  ├─ Form Discovery (100+ page paths + sitemap crawl)
  ├─ AJAX Route Validation
  │
  ├─ Phase 1: Safe Uploads (png/jpg/pdf + finalize → URL)
  │     └─ Shell verification on returned URLs
  │
  ├─ Phase 2: Directory Snapshot (BEFORE)
  │
  ├─ Phase 3: Exec Uploads (php/phtml/php5/phar/shtml + finalize)
  │     ├─ Leaked filename extraction from response
  │     └─ Hash pattern extraction from body + headers
  │
  ├─ Phase 4: Directory Snapshot (AFTER) → Diff → New exec files
  │     └─ Shell verification on each new file
  │
  ├─ Phase 5: Hash Leak Verification
  │     └─ Build URLs from leaked hashes → Shell check
  │
  ├─ Phase 6: Chunk-Only Uploads (no finalize → predictable SHA1 path)
  │     └─ Direct access + PATH_INFO bypass probing
  │
  └─ Result Classification (shell / vuln / skip / miss)

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

Этот инструмент предоставляется строго для целей авторизованного тестирования безопасности и образовательных исследований. Используйте его только на системах, которые вам принадлежат или на тестирование которых вы имеете явное письменное разрешение.

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

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


Автор: Nxploited
Khaled Alenazi
T.m @Kxploit

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