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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-19089-WooCommerce-Tyche — Репозиторий исследований для CVE-2026-19089 — уязвимости удалённого выполнения команд в WooCommerce Product Input Fields от Tyche Softwares. Содержит черновой исследовательский скрипт и заметки для авторизованного лабораторного тестирования. | Kitploit
Инструменты/GitHubGitHub/abraxas/cve-2026-19089-woocommerce-tyche
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбучение и Образование
GitHubabraxas/cve-2026-19089-woocommerce-tyche

CVE-2026-19089-WooCommerce-Tyche

Репозиторий исследований для CVE-2026-19089 — уязвимости удалённого выполнения команд в WooCommerce Product Input Fields от Tyche Softwares. Содержит черновой исследовательский скрипт и заметки для авторизованного лабораторного тестирования.

Репозиторий
52820 дней назадЕщё не проверено

Популярное

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

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

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

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

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

banner

CVE-2026-19089

Product Input Fields for WooCommerce < 2.0.2 — неаутентифицированная загрузка произвольных файлов

Плагин Product Input Fields for WooCommerce от Tyche Softwares не проверяет типы загружаемых файлов, когда настройка допустимых типов поля оставлена пустой (в собственной документации это описывается как «принимать все файлы»). Неаутентифицированный гость может прикрепить произвольный файл при добавлении в корзину, завершить оформление заказа и получить объект в каталоге загрузок плагина. На хостах, где это дерево каталогов исполняется как PHP, тот же путь приводит к удалённому выполнению кода.

CVECVE-2026-19089
CWECWE-434: Unrestricted Upload of File with Dangerous Type
CVSS 3.19.8 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
VendorTyche Softwares
ProductProduct Input Fields for WooCommerce (product-input-fields-for-woocommerce)
Affected2.0.0 по 2.0.1 (плагин до 2.0.2)
Patched2.0.2
RelatedCVE-2024-13359 (ограниченная AFU до 1.12.0)
CNAWPScan

Этот репозиторий содержит proof-of-concept от Abraxas Labs только для авторизованного тестирования — раскрытия вендору, воспроизведения в лаборатории или хоста, на оценку которого у вас есть письменное разрешение.

Я запускал клиент против локального магазина WooCommerce с Product Input Fields 2.0.1, гостевым оформлением заказа и оплатой при доставке, а также глобальным полем File с пустыми допустимыми типами. Скрипт выполняет подготовку загрузки и оформление заказа; он не содержит веб-шелла.


Обзор

Поле ввода товара типа File привязывается к форме добавления в корзину витрины как alg_wc_pif_global_* / alg_wc_pif_local_*. Когда допустимые типы файлов пусты, плагин сохраняет всё, что отправил гость. После успешного заказа файл сохраняется в wp-content/uploads/product_input_fields/, обычно с именем {item_id}_{original_filename}.

Сайты уязвимы, когда все следующие условия выполнены:

  1. Product Input Fields активен в уязвимой сборке 2.x (до 2.0.2).
  2. Хотя бы одно поле ввода типа File привязано к опубликованному товару.
  3. Список допустимых типов этого поля пуст.
  4. Гостевое оформление заказа (или любое доступное оформление) может завершить заказ, чтобы загрузка была зафиксирована.

При этих условиях воздействие — запись произвольного файла от имени веб-пользователя. Если каталог загрузок исполняемый, это захват сайта.


Технические заметки

Клиент остаётся на витрине. Он не содержит PHP-вебшелла или обратного шелла.

  1. Разведка — GET по URL товара, сбор имён полей файлов PIF и id товара для add-to-cart.
  2. Этап 1 — POST add-to-cart с безобидным PNG-маркером (image/png) под именем поля PIF. Имя файла по умолчанию — pifx.php, чтобы в лаборатории было видно, разрешил ли плагин опасное расширение. Маркер не является исполняемым PHP.
  3. Этап 2 — гостевое оформление заказа через /?wc-ajax=checkout с оплатой при доставке.
  4. Этап 3 — переход по redirect оформления заказа, если он присутствует, затем перебор wp-content/uploads/product_input_fields/{1..499}_{name} и POST x в поисках свидетеля SHELL_OK. [ LIVE ] выводится только когда этот свидетель возвращается.

Proof of concept

CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py — небольшой клиент на Python 3: цветной figlet-баннер, затем четыре шага выше. Он обращается только к URL, которые вы передаёте в командной строке.

Требования

  • Python 3.9+
  • requests

На macOS с Homebrew Python (PEP 668) используйте venv вместо системного pip install:

python3 -m venv .venv
.venv/bin/pip install requests

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

CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py <base_url> <product_url> [shell_name]
.venv/bin/python3 CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py \
  https://shop.example \
  https://shop.example/product/demo/

Третий аргумент задаёт имя загружаемого файла; по умолчанию — pifx.php.

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

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

WooCommerce с гостевым оформлением заказа и рабочим платёжным шлюзом (клиент отправляет payment_method=cod), Product Input Fields до 2.0.2, и опубликованный товар, поле File которого принимает любой тип. Против 2.0.2+ или поля со строгим списком разрешённых типов объект не должен сохраниться как загрузка .php.

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


Меры противодействия

  • Патч: обновите Product Input Fields for WooCommerce до 2.0.2 или новее из каталога плагинов WordPress.org.
  • Временное обходное решение: задайте явный список допустимых типов для каждого поля File (только изображения, никогда не пустой). Убедитесь, что каталог загрузок не исполняет PHP.
  • После предполагаемого инцидента проверьте wp-content/uploads/product_input_fields/ (и woocommerce_uploads/alg_uploads/product_input_fields/ в некоторых конфигурациях), удалите неожиданные объекты и смените секреты для wp-admin.

Ссылки

  • CVE-2026-19089
  • NVD
  • WPScan advisory
  • Wordfence: Product Input Fields for WooCommerce <= 2.0.1 - Unauthenticated Arbitrary File Upload
  • CVE-2024-13359

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

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

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

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