Создатели Langflow стремились улучшить процесс разработки, интегрировав возможность тестирования кода непосредственно в интерфейс, но непреднамеренно создали серьёзную брешь в безопасности. Уязвимость, получившая обозначение CVE-2025-3248, позволяет злоумышленникам удалённо запускать произвольный код на серверах, использующих уязвимые версии Langflow, причём для этого не требуются ни пароль, ни токен аутентификации, ни даже капча.
Причина проблемы кроется в эндпоинте /api/v1/validate/code. Он принимает код, отправленный через HTTP-запрос, без какой-либо проверки и немедленно исполняет его на сервере с помощью функции exec(). Фактически, любой желающий может загрузить на ваш сервер любую программу, будь то майнер криптовалюты или вредоносное ПО. Эта уязвимость была устранена только в версии 1.3.0, выпущенной в конце марта 2025 года, но к тому времени информация об эксплойте уже распространилась в сети.
Анализ данных Censys показывает, что более 450 экземпляров Langflow до сих пор доступны в интернете, включая установки в США, Германии, Индии и Китае. Пока неизвестно, кто именно воспользовался этой уязвимостью. Однако эксперты не исключают возможность целенаправленных атак, учитывая популярность платформы в сфере разработки искусственного интеллекта и среди энтузиастов.
Этот инцидент является ярким примером того, как не следует разрабатывать веб-приложения. Выполнение кода по запросу, особенно без изоляции и предварительной проверки, является не полезной функциональностью, а прямой угрозой безопасности. Если вы используете Langflow, настоятельно рекомендуется обновиться до последней версии. В противном случае, вы рискуете стать жертвой злоумышленников и частью ботнета.