Langflow — платформа с открытым исходным кодом, позволяющая разработчикам объединять промпты LLM, источники данных и пользовательский код на Python — имеет критическую уязвимость, которая позволяет любому пользователю запускать произвольный код Python на уязвимом сервере. CVE-2026-33017 с оценкой 9.8 по шкале CVSS затрагивает все версии до 1.9.0 и может быть активирована без аутентификации, что вынуждает операторов обновиться или отключить функцию «public flow».
Что делает этот баг
Эндпоинт public-flow в Langflow был предназначен для демонстрационных чат-ботов, которые любой желающий может протестировать без входа в систему. Эндпоинт принимает параметр data в теле запроса, предполагает, что полезная нагрузка содержит безопасное определение потока (flow definition), и передает содержимое напрямую во встроенную функцию Python exec(). Функция exec() интерпретирует строку как код и выполняет её с теми же привилегиями, что и процесс Langflow.
Злоумышленнику достаточно знать ID публичного потока — значение, которое часто отображается в общих ссылках, — чтобы сформировать запрос с вредоносным определением потока. Когда сервер обрабатывает запрос, внедренный Python-код запускается немедленно, предоставляя злоумышленнику полный контроль над хост-системой.
Как пропустили уязвимость
В предыдущих релизах путь выполнения кода, который загружает поток из базы данных, обходился, если присутствовало поле data. Вместо очистки или валидации полезной нагрузки сервер доверял вызывающей стороне и выполнял её буквально. Поскольку эндпоинт доступен без входа в систему, поверхностью атаки становится весь открытый интернет для любого экземпляра Langflow, в котором включены публичные потоки.
Кто находится в зоне риска
Учитывая оценку серьезности, уязвимость классифицируется как «критическая».
Немедленные меры по устранению
- Обновитесь до Langflow 1.9.0 — это единственное проверенное исправление.
- Отключите функцию public flow, если вам не нужен анонимный доступ.
- Выключите AUTO_LOGIN — это предотвратит автоматическое создание сессий для неаутентифицированных запросов.
- Разместите API за брандмауэром или обратным прокси, чтобы ограничить доступ доверенными диапазонами IP-адресов.
- Разверните Web Application Firewall (WAF), который блокирует запросы к эндпоинту
build_public_tmp, содержащие параметрdata.
Почему это исправление важно
Уязвимость эксплуатирует фундаментальную ошибку проектирования: доверие коду, предоставленному пользователем, в контексте, который выполняется с высокими привилегиями. Устранив это доверие и внедрив более строгую обработку входных данных, Langflow 1.9.0 восстанавливает барьер между пользователями публичных демо-версий и базовым сервером.
На что обратить внимание
- Реакция сообщества — следите за репозиторием Langflow на предмет последующих патчей или уведомлений.
Итог: Любое развертывание Langflow, имеющее доступный эндпоинт public-flow, должно быть исправлено сегодня. Пока не запущена версия 1.9.0, отключите эту функцию и защитите сервис сетевыми средствами контроля. Цена взлома значительно превышает усилия по быстрому обновлению.
