Критическая уязвимость в Langflow позволяет злоумышленникам выполнять произвольный код на сервере

vulnerability

В мире разработки приложений на базе больших языковых моделей (LLM) обнаружена опасная уязвимость, угрожающая безопасности тысяч проектов. Речь идёт о популярном low-code-инструменте Langflow, предназначенном для визуального создания приложений с искусственным интеллектом. Найденная проблема, получившая идентификатор CVE-2026-27966, оценена по шкале CVSS на максимальные 10 баллов из 10. Её суть заключается в возможности удалённого выполнения кода (RCE) через узел CSV Agent, что ставит под угрозу все серверы, использующие уязвимые версии программного обеспечения. Для разработчиков и администраторов, внедряющих решения на базе Langflow, это сигнал к немедленным действиям.

Детали уязвимости

Уязвимость затрагивает все версии Langflow до 1.6.9 и связана с критической ошибкой в реализации функционала для работы с CSV-файлами. CSV Agent - это компонент, позволяющий пользователям взаимодействовать с табличными данными через естественный язык, используя возможности БЯМ. Однако, как выяснилось, в исходном коде модуля "csv_agent.py" разработчики жёстко задали параметр "allow_dangerous_code" в значение "True". Это автоматически активирует встроенный инструмент Python REPL (Read-Eval-Print Loop) из фреймворка LangChain, предназначенный для выполнения Python-кода. При этом в интерфейсе пользователя отсутствует какой-либо переключатель или настройка для отключения этой опасной функциональности. Таким образом, любое приложение, использующее узел CSV Agent, по умолчанию оказывается открытым для атаки.

Эксплуатация уязвимости строится на технике, известной как инъекция промптов (prompt injection). Злоумышленник может отправить специально сформированный запрос, который заставит БЯМ использовать инструмент "python_repl_ast" для выполнения произвольных команд. Это не ограничивается лишь контекстом Python-среды; атакующий получает возможность запускать системные команды на целевом сервере, что является классическим сценарием удалённого выполнения кода. Разработчики Langflow наглядно продемонстрировали простоту эксплуатации, опубликовав Proof of Concept (Доказательство концепции). Для воспроизведения достаточно создать стандартный поток в приложении, подключив к узлу CSV Agent большую языковую модель, и отправить вредоносный промпт, содержащий инструкцию по импорту модуля "os" и выполнению команды, например, создания файла в системной директории. Успешное создание такого файла на сервере неопровержимо подтверждает факт компрометации.

Последствия успешной атаки могут быть катастрофическими. Получив возможность выполнять код на сервере, злоумышленник может похитить конфиденциальные данные, установить программы-вымогатели, создать точку постоянного присутствия в системе (persistence) для дальнейшего продвижения по корпоративной сети или полностью парализовать работу приложения. Учитывая, что Langflow позиционируется как инструмент для бизнес-задач, под ударом могут оказаться внутренние автоматизированные процессы, аналитические системы и клиентские сервисы, работающие с чувствительной информацией.

Единственной эффективной мерой защиты является немедленное обновление Langflow до патченной версии 1.8.0. Разработчики устранили проблему, изменив поведение системы. Для тех, кто по каким-либо причинам не может выполнить обновление мгновенно, рекомендуется провести аудит кода и вручную изменить параметр "allow_dangerous_code" на "False" в соответствующем модуле, что заблокирует автоматическую активацию опасного инструмента. Если же выполнение кода является необходимой бизнес-логикой для конкретных workflow, эксперты по кибербезопасности настоятельно советуют реализовать явный механизм контроля - например, переключатель в интерфейсе администратора, который по умолчанию должен быть выключен. Любое решение, связанное с исполнением кода, полученного извне, должно быть окружено строгими проверками и работать по принципу наименьших привилегий.

Этот инцидент служит суровым напоминанием для всего сообщества разработчиков, работающих с искусственным интеллектом. Интеграция мощных возможностей БЯМ, таких как взаимодействие с файлами и исполнение кода, создаёт новую, расширенную поверхность для атак. Безопасность должна быть заложена в архитектуру подобных систем с самого начала, а не добавляться постфактум. Жёсткое задание опасных настроек, отсутствие контроля со стороны пользователя и недостаточная изоляция компонентов - это типичные ошибки, которые становятся фатальными в эпоху повсеместного распространения AI. Командам, внедряющим low-code-платформы и AI-агенты, необходимо включить в свои процессы регулярный аудит зависимостей, анализ исходного кода на наличие подобных "минных полей" и тестирование на проникновение с фокусом на техники инъекции промптов, которые быстро станов mainstream-вектором атак.

Ссылки

Комментарии: 0