Langflow — это open-source платформа с низким порогом входа, позволяющая строить AI-приложения буквально через визуальный конструктор. Звучит безобидно. Но именно в этой платформе обнаружилась уязвимость с идентификатором CVE-2026-5027 и оценкой 8.8 по шкале CVSS, которая открывает дверь к полному удалённому выполнению кода — причём без какой-либо авторизации.
Проблема кроется в эндпойнте POST /api/v2/files и конкретно в параметре filename внутри multipart form data. Этот параметр никак не проверяется на стороне сервера, что позволяет передать в нём последовательности вида ../ и записать произвольный файл в любое место файловой системы. Тип уязвимости — path traversal с выходом в arbitrary file write. Для разработчика это учебниковая ошибка, которой уже лет двадцать, и тем обиднее видеть её в 2026 году в продукте, ориентированном на AI-сегмент.
Отдельный момент, который делает эксплуатацию тривиальной: по умолчанию Langflow включает режим автологина без аутентификации. Кейтлин Кондон, вице-президент по исследованиям безопасности в VulnCheck, пояснила, что для получения действующего токена сессии достаточно отправить единственный HTTP-запрос — и никакие учётные данные для этого не нужны. То есть атакующему не надо взламывать пароли, брутфорсить аккаунты или угадывать ключи. Он просто получает токен, а потом пишет файлы куда захочет.
Уязвимость обнаружила компания Tenable. Попытки выйти на контакт с мейнтейнерами проекта начались ещё в январе 2026 года, затем последовали повторные обращения в феврале 2026-го — всего три попытки скоординированного раскрытия. Реакция оказалась медленной, и 27 марта 2026 года Tenable публично раскрыла детали уязвимости. Патч появился позже — 15 апреля 2026 года в составе версии Langflow 1.9.0, это обновлённый пакет langflow-base.
VulnCheck зафиксировала активную эксплуатацию в дикой природе уже в конце марта 2026 года. Пока атакующие ведут себя относительно сдержанно: на скомпрометированных системах записываются тестовые файлы. По сути, это стадия разведки или подготовки к более серьёзным действиям — проверка, насколько далеко можно зайти. Но записать тестовый файл и записать веб-шелл — это один и тот же механизм, разница только в намерении.
По данным платформы Censys, в публичном доступе находится около 7 000 экземпляров Langflow, большинство — в Северной Америке. Это означает, что потенциальная поверхность атаки уже известна и, судя по активности, частично сканируется. Скорость, с которой после публичного раскрытия началась эксплуатация, говорит о том, что кто-то явно мониторил ситуацию.
Важен и более широкий контекст. VulnCheck фиксирует тренд: атакующие всё чаще нацеливаются не на сами AI-модели, а на инфраструктуру, которая используется для их сборки и деплоя — то, что принято называть MLOps или LLMOps-стеком. Langflow как раз из этой категории: через него строят пайплайны, подключают LLM, хранят конфигурации и ключи доступа к сторонним API. Скомпрометировать такой инструмент часто выгоднее, чем атаковать конечное приложение напрямую.
Если вы используете Langflow, обновление до версии 1.9.0 закрывает описанную уязвимость. Помимо этого, стоит проверить конфигурацию: режим автологина без аутентификации удобен для локальной разработки, но категорически не подходит для любого деплоя, доступного из сети. Отключить его или настроить нормальную аутентификацию — это минимум, который нужно сделать независимо от версии.
Проблема кроется в эндпойнте POST /api/v2/files и конкретно в параметре filename внутри multipart form data. Этот параметр никак не проверяется на стороне сервера, что позволяет передать в нём последовательности вида ../ и записать произвольный файл в любое место файловой системы. Тип уязвимости — path traversal с выходом в arbitrary file write. Для разработчика это учебниковая ошибка, которой уже лет двадцать, и тем обиднее видеть её в 2026 году в продукте, ориентированном на AI-сегмент.
Отдельный момент, который делает эксплуатацию тривиальной: по умолчанию Langflow включает режим автологина без аутентификации. Кейтлин Кондон, вице-президент по исследованиям безопасности в VulnCheck, пояснила, что для получения действующего токена сессии достаточно отправить единственный HTTP-запрос — и никакие учётные данные для этого не нужны. То есть атакующему не надо взламывать пароли, брутфорсить аккаунты или угадывать ключи. Он просто получает токен, а потом пишет файлы куда захочет.
Уязвимость обнаружила компания Tenable. Попытки выйти на контакт с мейнтейнерами проекта начались ещё в январе 2026 года, затем последовали повторные обращения в феврале 2026-го — всего три попытки скоординированного раскрытия. Реакция оказалась медленной, и 27 марта 2026 года Tenable публично раскрыла детали уязвимости. Патч появился позже — 15 апреля 2026 года в составе версии Langflow 1.9.0, это обновлённый пакет langflow-base.
VulnCheck зафиксировала активную эксплуатацию в дикой природе уже в конце марта 2026 года. Пока атакующие ведут себя относительно сдержанно: на скомпрометированных системах записываются тестовые файлы. По сути, это стадия разведки или подготовки к более серьёзным действиям — проверка, насколько далеко можно зайти. Но записать тестовый файл и записать веб-шелл — это один и тот же механизм, разница только в намерении.
По данным платформы Censys, в публичном доступе находится около 7 000 экземпляров Langflow, большинство — в Северной Америке. Это означает, что потенциальная поверхность атаки уже известна и, судя по активности, частично сканируется. Скорость, с которой после публичного раскрытия началась эксплуатация, говорит о том, что кто-то явно мониторил ситуацию.
Важен и более широкий контекст. VulnCheck фиксирует тренд: атакующие всё чаще нацеливаются не на сами AI-модели, а на инфраструктуру, которая используется для их сборки и деплоя — то, что принято называть MLOps или LLMOps-стеком. Langflow как раз из этой категории: через него строят пайплайны, подключают LLM, хранят конфигурации и ключи доступа к сторонним API. Скомпрометировать такой инструмент часто выгоднее, чем атаковать конечное приложение напрямую.
Если вы используете Langflow, обновление до версии 1.9.0 закрывает описанную уязвимость. Помимо этого, стоит проверить конфигурацию: режим автологина без аутентификации удобен для локальной разработки, но категорически не подходит для любого деплоя, доступного из сети. Отключить его или настроить нормальную аутентификацию — это минимум, который нужно сделать независимо от версии.