CVE-2025-3248
Langflow Langflow
2025-05-05
Langflow contains a missing authentication vulnerability in the /api/v1/validate/code endpoint that allows a remote, unauthenticated attacker to execute arbitrary code via crafted HTTP requests.
Технический анализ и план устранения
Суть уязвимости
CVE-2025-3248 представляет собой критическую брешь в механизме аутентификации приложения Langflow. Уязвимость локализована в конечном узле (endpoint) /api/v1/validate/code.
Из-за отсутствия проверки прав доступа и аутентификации, удаленный неавторизованный злоумышленник может отправить специально сформированный HTTP-запрос к этому API. Поскольку данный эндпоинт предназначен для валидации и исполнения Python-кода, атакующий получает возможность выполнить произвольный код (RCE) на сервере с правами процесса Langflow, что ведет к полному компрометированию системы.
Как исправить
Основным способом устранения уязвимости является обновление Langflow до версии, в которой внедрены обязательные проверки аутентификации для всех критических API-узлов.
- Обновите пакет Langflow с помощью менеджера пакетов pip:
pip install --upgrade langflow
- Если вы используете Docker, обновите образ до последней стабильной версии и перезапустите контейнер:
docker pull langflowai/langflow:latest
docker compose up -d
- После обновления убедитесь, что версия Langflow выше той, в которой была обнаружена уязвимость (рекомендуется использовать актуальный релиз с GitHub проекта).
Временные меры
Если немедленное обновление системы невозможно, необходимо ограничить доступ к уязвимому эндпоинту на уровне сетевой инфраструктуры или прокси-сервера.
- Настройте Reverse Proxy (Nginx/Apache) для блокировки доступа к эндпоинту
/api/v1/validate/codeдля внешних пользователей:
location /api/v1/validate/code {
deny all;
return 403;
}
-
Ограничьте доступ к интерфейсу Langflow с помощью Firewall (IP Whitelisting), разрешив подключения только с доверенных IP-адресов администраторов.
-
Включите принудительную аутентификацию в настройках Langflow, установив соответствующие переменные окружения перед запуском:
export LANGFLOW_NEW_USER_SIGNUP=false
export LANGFLOW_AUTO_LOGIN=false
- Изолируйте среду выполнения Langflow, запустив приложение от имени пользователя с минимальными привилегиями в системе (Least Privilege Principle).