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, в котором включены публичные потоки.

Кто находится в зоне риска

Учитывая оценку серьезности, уязвимость классифицируется как «критическая».

Немедленные меры по устранению

  1. Обновитесь до Langflow 1.9.0 — это единственное проверенное исправление.
  2. Отключите функцию public flow, если вам не нужен анонимный доступ.
  3. Выключите AUTO_LOGIN — это предотвратит автоматическое создание сессий для неаутентифицированных запросов.
  4. Разместите API за брандмауэром или обратным прокси, чтобы ограничить доступ доверенными диапазонами IP-адресов.
  5. Разверните Web Application Firewall (WAF), который блокирует запросы к эндпоинту build_public_tmp, содержащие параметр data.

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

Уязвимость эксплуатирует фундаментальную ошибку проектирования: доверие коду, предоставленному пользователем, в контексте, который выполняется с высокими привилегиями. Устранив это доверие и внедрив более строгую обработку входных данных, Langflow 1.9.0 восстанавливает барьер между пользователями публичных демо-версий и базовым сервером.

На что обратить внимание

  • Реакция сообщества — следите за репозиторием Langflow на предмет последующих патчей или уведомлений.

Итог: Любое развертывание Langflow, имеющее доступный эндпоинт public-flow, должно быть исправлено сегодня. Пока не запущена версия 1.9.0, отключите эту функцию и защитите сервис сетевыми средствами контроля. Цена взлома значительно превышает усилия по быстрому обновлению.