Воспроизведение CVE: cve-2026-0770-langflow_rce_reproduction
CVSS 9.8 (Критический) | ZDI-CAN-27325 | CWE-829: Включение функциональности из недоверенной контрольной сферы
CVE-2026-0770 — это критическая уязвимость удаленного выполнения кода без аутентификации в Langflow, low-code фреймворке для создания приложений на основе LLM. Недостаток находится в конечной точке /api/v1/validate, где параметр exec_globals небезопасно передается в функцию Python exec(), что позволяет неаутентифицированным атакующим выполнять произвольный код с привилегиями процесса Langflow (обычно root).
Обнаружена в рамках Zero Day Initiative (ZDI-CAN-27325).
Конечная точка валидации Langflow /api/v1/validate принимает JSON-нагрузку, содержащую поле exec_globals. Этот словарь предназначен для внутреннего использования с целью предварительного заполнения глобальных переменных при валидации пользовательских компонентов. Однако конечная точка не очищает и не ограничивает содержимое exec_globals, и значения передаются напрямую во встроенную функцию Python exec():
exec(user_code, exec_globals)
Атакующий может внедрить произвольный код Python, предоставив специально сформированный словарь exec_globals, который переопределяет встроенные функции или внедряет вредоносные вызываемые объекты. Когда Langflow внутренне выполняет пользовательский код с этими глобальными переменными, внедренный код выполняется.
Уязвимость классифицируется как CWE-829, поскольку приложение включает функциональность (через exec_globals) из недоверенного источника (сетевого запроса) без надлежащей проверки, что приводит к выполнению произвольного кода.
Все версии Langflow до патча, реализующего надлежащую очистку exec_globals в конечной точке валидации, уязвимы. В число затронутых версий входят:
/api/v1/validate принимает exec_globals без проверки/api/v1/validate с вредоносной нагрузкой exec_globalsИспользуйте прилагаемый скрипт exploit.py:
python exploit.py --target 192.168.1.100 --port 7860 --command "id > /tmp/pwned"
exec_globals.Отказ от ответственности: Эта информация предоставлена исключительно в образовательных целях и для авторизованного тестирования безопасности. Несанкционированное использование против систем, которыми вы не владеете или на тестирование которых не имеете явного разрешения, незаконно.