Langflow — это инструмент для создания и развертывания агентов и рабочих процессов на базе искусственного интеллекта. В версиях до 1.9.0 конечная точка POST /api/v1/build_public_tmp/{flow_id}/flow позволяет создавать общедоступные потоки без необходимости аутентификации. Если указан необязательный параметр данных, конечная точка использует данные потока, контролируемые злоумышленником (содержащие произвольный код Python в определениях узлов), вместо сохраненных данных потока из базы данных.
Этот код передается в exec() без использования песочницы, что приводит к удаленному выполнению кода без проверки подлинности. Это отличается от CVE-2025-3248, в котором исправлен /api/v1/validate/code путем добавления аутентификации. Конечная точка build_public_tmp спроектирована так, чтобы не проходить проверку подлинности (для общедоступных потоков), но неправильно принимает данные потока, предоставленные злоумышленником, содержащие произвольный исполняемый код.
Эта проблема исправлена в версии 1.9.0.
Показать оригинальное описание (EN)
Langflow is a tool for building and deploying AI-powered agents and workflows. In versions prior to 1.9.0, the POST /api/v1/build_public_tmp/{flow_id}/flow endpoint allows building public flows without requiring authentication. When the optional data parameter is supplied, the endpoint uses attacker-controlled flow data (containing arbitrary Python code in node definitions) instead of the stored flow data from the database. This code is passed to exec() with zero sandboxing, resulting in unauthenticated remote code execution. This is distinct from CVE-2025-3248, which fixed /api/v1/validate/code by adding authentication. The build_public_tmp endpoint is designed to be unauthenticated (for public flows) but incorrectly accepts attacker-supplied flow data containing arbitrary executable code. This issue has been fixed in version 1.9.0.
Характеристики атаки
Последствия
Строка CVSS v4.0