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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-33017-Lab — Воспроизводимая лаборатория для CVE-2026-33017 — неаутентифицированного RCE в Langflow. Включает Docker-контейнер с уязвимым сервисом и PoC с минимальным вредом, демонстрирующий выполнение кода через публичную конечную точку build. | Kitploit
Инструменты/GitHubGitHub/rootdirective-sec/cve-2026-33017-lab
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСтатьи и ИсследованияОбучение и ОбразованиеЛаборатории и Практика
GitHubrootdirective-sec/cve-2026-33017-lab

CVE-2026-33017-Lab

Воспроизводимая лаборатория для CVE-2026-33017 — неаутентифицированного RCE в Langflow. Включает Docker-контейнер с уязвимым сервисом и PoC с минимальным вредом, демонстрирующий выполнение кода через публичную конечную точку build.

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

Популярное

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

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

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

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

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

CVE-2026-33017 — Лабораторная среда для неаутентифицированного RCE в Langflow

Краткое описание

CVE-2026-33017 — это уязвимость неаутентифицированного удаленного выполнения кода (RCE) в Langflow, где публичная конечная точка сборки принимает управляемые атакующим данные потока, что позволяет выполнять код пользовательских компонентов на сервере.

В этой лабораторной среде проверочный поток выглядит следующим образом:

  1. Получить токен доступа через поток автоматического входа
  2. Создать новый поток PUBLIC
  3. Отправить управляемый атакующим код компонента в публичную конечную точку сборки
  4. Получить job_id
  5. Опрашивать результат через API событий сборки
  6. Прочитать объект подтверждения непосредственно из выходных данных компонента

Подтверждение получается напрямую через механизм событий API Langflow, что делает результат наблюдаемым через сам интерфейс системы.


Область применения этого репозитория

В этом документе представлена лабораторная среда только с уязвимостью.

В настоящее время docker compose содержит только один сервис: vuln, поскольку этот проект следует подходу только реальные артефакты и избегает исправленных сред, которые не основаны на официальном исправленном артефакте.


Проверенное поведение в этой лабораторной среде

В этой лабораторной среде было проверено следующее поведение:

  • Уязвимый экземпляр Langflow запущен на http://localhost:7861
  • Конечная точка версии возвращает 1.8.1
  • Можно создать публичный поток
  • build_public_tmp возвращает job_id
  • PoC может продолжать опрос событий
  • Объект подтверждения возвращается через API
  • Управляемый атакующим код выполняется в среде выполнения Langflow

Пример объекта подтверждения:

{
  "canary": "lf33017-c14fc1c9",
  "id_output": "uid=1000(user) gid=0(root) groups=0(root)",
  "whoami": "user",
  "hostname": "155aa3fd5e2a",
  "cwd": "/app",
  "python_version": "3.12.12"
}

Ключевыми доказательствами являются:

  • id_output
  • whoami
  • hostname
  • cwd
  • python_version

Приведенная выше информация показывает, что управляемый атакующим код действительно выполнялся на стороне сервера.


Структура репозитория

.
├── docker-compose.yml
├── vuln/
│   └── Dockerfile
├── poc/
│   └── poc.py
├── README.md
└── .gitignore

Требования

  • Linux или macOS
  • Docker Desktop или Docker Engine
  • Docker Compose v2
  • Python 3

Обзор сервисов

vuln

  • Уязвимый экземпляр Langflow
  • Привязанный порт: 7861 -> 7860
  • Используется для воспроизведения CVE-2026-33017 на localhost

Как работает уязвимость

Эта уязвимость существует потому, что публичная конечная точка сборки Langflow принимает предоставленные пользователем определения потоков, даже несмотря на то, что конечная точка уже предназначена для публичных потоков. Когда атакующий отправляет определение узла, содержащее код пользовательского компонента, система передает этот код в путь сборки потока, что в конечном итоге приводит к выполнению кода на сервере.

PoC в этом проекте использует пользовательский компонент, который возвращает объект подтверждения в своих выходных данных, чтобы продемонстрировать, что управляемый атакующим код действительно выполняется.


Дизайн PoC

PoC в этом проекте разработан как наименее вредоносный и сосредоточен на четко наблюдаемом подтверждении через API. Его рабочий процесс выглядит следующим образом:

  1. Дождаться готовности Langflow
  2. Вызвать конечную точку автоматического входа для получения токена
  3. Создать поток PUBLIC
  4. Отправить код пользовательского компонента в публичную конечную точку сборки
  5. Получить job_id
  6. Опрашивать API событий сборки
  7. Извлечь объект подтверждения из полезной нагрузки события

Этот PoC не охватывает:

  • Открытие оболочки
  • Установление обратного соединения
  • Обеспечение постоянства
  • Извлечение секретов
  • Использование веб-оболочки

Запуск лабораторной среды

1) Запустите уязвимый сервис

docker compose up -d --build

2) Проверьте конечную точку версии

curl -i http://localhost:7861/api/v1/version

3) Запустите PoC

python3 poc/poc.py --base-url http://localhost:7861 --artifact-dir ./artifacts/vuln

Ожидаемый результат

При успешном выполнении PoC вывод будет выглядеть следующим образом:

[+] http://localhost:7861 ready (version=1.8.1)

=== TARGET: vuln ===
Base URL : http://localhost:7861
Version  : 1.8.1
Flow ID  : <uuid>
HTTP     : 200
Job ID   : <uuid>
Canary   : lf33017-xxxxxxxx
Events   : artifacts/vuln/events-<job_id>.ndjson
Polls    : 2

[+] Proof observed through the Langflow API events endpoint:
{
  "canary": "lf33017-xxxxxxxx",
  "id_output": "uid=1000(user) gid=0(root) groups=0(root)",
  "whoami": "user",
  "hostname": "<container-hostname>",
  "cwd": "/app",
  "python_version": "3.12.x"
}

[+] Vulnerable behavior observed

Файл artifacts/vuln/events-<job_id>.ndjson хранит необработанные данные событий для дополнительной отладки.


Что доказывает текущий PoC

Этот PoC демонстрирует, что:

  • Атакующий может вызвать публичный поток сборки
  • Управляемый атакующим код выполняется на сервере Langflow
  • Контекст выполнения возвращается через API
  • Реальное воздействие — неаутентифицированное выполнение кода

Этот PoC не предназначен для демонстрации постоянства или продвинутой пост-эксплуатации и поддерживает воздействие на минимальном уровне, необходимом для проверки уязвимости.


Воздействие

На основе этой лабораторной среды продемонстрированное воздействие включает:

  • Неаутентифицированный атакующий может выполнять код Python на сервере Langflow
  • Атакующий может получить доступ к контексту выполнения процесса
  • Атакующий может выполнять разовые системные команды
  • Атакующий может получить доступ к рабочему каталогу и метаданным среды выполнения

Почему нет исправленного сервиса

Этот репозиторий намеренно не включает исправленный сервис.

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

По этой причине этот репозиторий намеренно избегает:

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

Это сохраняет лабораторную среду узконаправленной и технически честной. Вместо представления искусственной параллельной настройки репозиторий сосредоточен на трех вещах:

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

На практике это делает репозиторий наиболее подходящим для:

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

Очистка

docker compose down -v

Примечания по безопасности

Эта лабораторная среда предназначена для тестирования только на localhost.

Требования к использованию:

  • Используйте только в собственной среде
  • Не модифицируйте PoC в веб-оболочку или механизм постоянства
  • Не включайте реальные токены или реальные секреты в репозиторий
  • Если исправленная сторона будет добавлена в будущем, она должна использовать только официальный исправленный артефакт
Скачать инструмент