Уязвимость в Langflow (CVE-2026-33017)
Введение
В платформе Langflow, предназначенной для разработки и развёртывания приложений на базе больших языковых моделей (LLM), обнаружена критическая уязвимость CVE-2026-33017.
Проблема позволяет удалённому неаутентифицированному злоумышленнику выполнить произвольный Python-код на сервере, используя специально сформированный HTTP-запрос. Уязвимость получила максимальную степень опасности и уже используется в реальных атаках.
Что произошло
Уязвимость находится в конечной точке API:
POST /api/v1/build_public_tmp/{flow_id}/flow
Данный обработчик предназначен для сборки публичных рабочих процессов (Flow) и не требует аутентификации.
Ошибка заключается в том, что сервер принимает переданные пользователем данные вместо сохранённой конфигурации рабочего процесса. Внутри этих данных злоумышленник может разместить произвольный Python-код, который впоследствии передаётся функции exec() без какой-либо изоляции или проверки безопасности.
Особенности эксплуатации
Для успешной атаки достаточно:
- знать идентификатор публичного Flow;
- отправить один специально сформированный HTTP POST-запрос;
- передать собственное описание рабочего процесса с вредоносным Python-кодом.
|
Важно
Аутентификация при эксплуатации данной уязвимости не требуется.
|
Успешная эксплуатация позволяет:
- выполнять произвольные команды на сервере;
- получать доступ к API-ключам и токенам;
- читать переменные окружения;
- получать доступ к базам данных и другим сервисам;
- полностью скомпрометировать сервер Langflow.
Почему это опасно
Langflow активно используется для разработки ИИ-приложений и агентов, взаимодействующих с внешними сервисами.
Во многих развертываниях платформа хранит:
- ключи OpenAI, Anthropic и других LLM;
- учётные данные облачных сервисов;
- параметры подключения к базам данных;
- секреты Kubernetes;
- токены GitHub, GitLab и других систем.
После выполнения произвольного кода злоумышленник может получить доступ ко всем этим данным и использовать сервер как точку дальнейшего проникновения во внутреннюю инфраструктуру.
Уязвимость устранена в Langflow 1.9.0.
Рекомендуемые действия:
- обновить Langflow до версии 1.9.0 или новее;
- отключить публичные Flow, если они не используются;
- ограничить доступ к интерфейсу Langflow через VPN или reverse proxy;
- проверить журналы на обращения к
/api/v1/build_public_tmp/; - сменить API-ключи и другие секреты, если сервер был доступен из интернета.
Дополнительно
CVE-2026-33017 была включена в каталог Known Exploited Vulnerabilities (KEV), который ведёт CISA. Это означает, что уязвимость уже подтверждённо используется злоумышленниками в реальных атаках и требует приоритетного устранения.
Интересно, что ранее разработчики уже исправили похожую проблему в другом API Langflow (CVE-2025-3248). Однако опасный механизм выполнения пользовательского Python-кода сохранился в другом обработчике, что привело к появлению новой критической уязвимости.
