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-узлов.

  1. Обновите пакет Langflow с помощью менеджера пакетов pip:
pip install --upgrade langflow

  1. Если вы используете Docker, обновите образ до последней стабильной версии и перезапустите контейнер:
docker pull langflowai/langflow:latest
docker compose up -d

  1. После обновления убедитесь, что версия Langflow выше той, в которой была обнаружена уязвимость (рекомендуется использовать актуальный релиз с GitHub проекта).

Временные меры

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

  1. Настройте Reverse Proxy (Nginx/Apache) для блокировки доступа к эндпоинту /api/v1/validate/code для внешних пользователей:
location /api/v1/validate/code {
    deny all;
    return 403;
}

  1. Ограничьте доступ к интерфейсу Langflow с помощью Firewall (IP Whitelisting), разрешив подключения только с доверенных IP-адресов администраторов.

  2. Включите принудительную аутентификацию в настройках Langflow, установив соответствующие переменные окружения перед запуском:

export LANGFLOW_NEW_USER_SIGNUP=false
export LANGFLOW_AUTO_LOGIN=false

  1. Изолируйте среду выполнения Langflow, запустив приложение от имени пользователя с минимальными привилегиями в системе (Least Privilege Principle).