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
CVE-2025-55182 — Programme de test RCE React CVE-2025-55182 | Kitploit
Outils/GitHubGitHub/theman001/cve-2025-55182
Scanners de VulnérabilitésGénération de PayloadsExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHubtheman001/cve-2025-55182

CVE-2025-55182

Programme de test RCE React CVE-2025-55182

Voir le dépôt
2il y a 2 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 →
Partager

CVE-2025-55182 (React2Shell)

CVE-2025-55182 Programme de test RCE React

🔒 Scanner RCE interactif CVE-2025-55182

Ce script est un outil de validation de vulnérabilité ciblant CVE-2025-55182, une grave vulnérabilité d'exécution de code à distance (RCE) présente dans React Server Components (RSC) de React 19.x.

Cet outil détermine si la vulnérabilité existe sur un serveur réel et, selon les options, permet de tester l'exécution de commandes, de journaliser ou d'utiliser la méthode RCE en deux étapes (module#_load).

⚠️ Cet outil doit être utilisé uniquement dans un environnement de test fermé, à des fins d'audit de sécurité et de validation de vulnérabilité.


📋 Résumé de la vulnérabilité React2Shell (CVE-2025-55182)

Télécharger l’outil
ÉlémentContenu
Numéro de vulnérabilitéCVE-2025-55182 (React) / CVE-2025-66478 (Next.js)
Nom de la vulnérabilitéReact2Shell
Type de vulnérabilitéExécution de code à distance (RCE) – Aucune authentification requise
Sévérité (CVSS)10.0 (Critique)
Date de découverte2025-11-29 (Lachlan Davidson)
Difficulté d'attaqueTrès faible (niveau Log4Shell)
Description de la vulnérabilitéVulnérabilité RCE structurelle due à l'accès possible à la chaîne de prototypes (constructor, __proto__) via la notation entre crochets de la fonction requireModule() lors du traitement de désérialisation Flight

🧱 Produits et versions vulnérables

Produit/outilVersions vulnérablesVersions corrigées
React.js19.0.0, 19.1.0, 19.1.1, 19.2.019.0.1, 19.1.2, 19.2.1
react-server-dom-webpackIdem (↑)Idem
react-server-dom-parcelIdem (↑)Idem
react-server-dom-turbopackIdem (↑)Idem
Next.js 14Certaines versions à partir de 14.3.0.canary.77(Non officiellement) Recommandation de passer à 15.0.5+
Next.js 1515.0.0 ~ 15.5.615.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 15.6.0
Next.js 1616.0.0 ~ 16.0.616.0.7
Autres outilsReact Router RSC, RedwoodJS, Vite RSC Plugin, Parcel RSC Plugin, etc.Correction nécessaire des dépendances RSC de ces projets

✅ Les projets intégrant des fonctionnalités RSC doivent également mettre à niveau les modules react-server-dom-* vers leurs dernières versions, indépendamment de React, pour être sécurisés.


📚 Table des matières

  • 🗂️ Structure des dossiers
  • 🧩 Fonctionnalités principales
  • 📦 Installation
  • 🚀 Exemples d'exécution
  • 💬 Exemple de saisie de commande interactive
  • ⚠️ Précautions de sécurité
  • 📚 Références techniques
  • 📄 Licence et conditions d'utilisation

🗂️ Structure des dossiers

root@kitploit:~
CVE-2025-55182/
├── README.md                     # Aperçu général et utilisation du scanner
├── DETECTION_RULES.md            # Règles de détection/blocage
├── 설명 및 탐지규칙.md             # Explication des règles de détection en coréen
├── cve_2025_55182_interactive.py # Script scanner de validation RCE
├── requirements.txt              # Liste des dépendances du scanner
├── setup_vulnerable_env.sh       # Script d'installation de l'environnement vulnérable
├── uninstall_vulnerable_env.sh   # Script de nettoyage/suppression de l'environnement vulnérable
└── vulnerable-react-env/         # Code de l'environnement de démonstration du serveur React2Shell vulnérable
    ├── README.md                 # Utilisation de l'environnement de démonstration
    ├── package.json              # Scripts npm et dépendances
    ├── server.js                 # Backend Express vulnérable
    ├── public/
    │   └── index.html            # Frontend React basé sur CDN
    └── .gitignore

🧩 Fonctionnalités principales

✅ Test interactif de la possibilité de RCE sur un serveur vulnérable
✅ Prise en charge des méthodes child_process#execSync (par défaut) et module#_load
✅ Enregistrement des résultats d'exécution des commandes dans un fichier journal
✅ Envoi de commandes système saisies par l'utilisateur au serveur


📦 Installation

root@kitploit:~
git clone <ce-repo>
cd <ce-repo>
pip install -r requirements.txt

🚀 Exemples d'exécution

  1. Test RCE de base (méthode execSync)

    • Exécution de commandes via child_process.execSync()
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce
  2. Test RCE en deux étapes (méthode module#_load)

    • Création d'un fichier JS malveillant puis exécution via module#_load
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --method moduleLoad
  3. Test RCE basé sur RSC (option --rce2)

    • Exécution de la charge utile via le chemin de traitement des composants serveur de Next.js
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce2
  4. Enregistrement des résultats de commande dans un journal

    • Enregistrement de tous les résultats dans un fichier journal spécifié
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --log rce_output.log
  5. Utilisation complète des fonctionnalités (méthode + journal)

    • Combinaison de la méthode moduleLoad et de l'enregistrement dans un journal
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --method moduleLoad --log rce_output.log
  6. Affichage de débogage de la charge utile

    • Affichage de la charge utile dans la console avant envoi au serveur
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --debug

🚧 Environnement de démonstration du serveur React vulnérable (OCI/Ubuntu)

Le dossier vulnerable-react-env contient un serveur React + Express intentionnellement vulnérable permettant de reproduire CVE-2025-55182.

  1. Configuration rapide (recommandée)
    • Exécutez ./setup_vulnerable_env.sh pour effectuer installation des paquets apt → installation de nvm/Node.js 20 → npm install en une seule fois.
    • Après installation, exécutez le serveur avec cd vulnerable-react-env && npm start ou npm run dev.
    • ⚠️ Si vous tapez seulement npm run, la liste des scripts s'affiche. Vous devez spécifier le nom du script, comme npm start (ou npm run start).
    • Pour nettoyer l'environnement, utilisez ./uninstall_vulnerable_env.sh pour supprimer node_modules, la charge utile moduleLoad, et (optionnellement) Node 20 et nvm.
    • ❗️ En cas d'erreur de dépendance (ERR_MODULE_NOT_FOUND: Cannot find package 'express', etc.), exécutez cd vulnerable-react-env && npm install pour installer node_modules, puis relancez npm start.
  2. Configuration manuelle (alternative)
    • sudo apt update && sudo apt install -y curl build-essential
    • curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh -o /tmp/install_nvm.sh && bash /tmp/install_nvm.sh
    • nvm install 20 && nvm use 20
    • cd vulnerable-react-env && npm install
    • npm start (port par défaut : 3000)
  3. Test de la vulnérabilité
    • Accédez à http://localhost:3000 dans un navigateur, puis envoyez _payload et cmd via le formulaire
    • Ou reproduisez le flux RCE avec les exemples curl de vulnerable-react-env/README.md

⚠️ Interdit en dehors de la recherche/formation. Ne pas exposer sur Internet.


💬 Exemple de saisie de commande interactive

💬 Commande système à saisir : whoami
✅ Code de réponse : 200
📄 Contenu de la réponse : {"success":true,"result":"www-data"}

💬 Commande système à saisir : id
✅ Code de réponse : 200
📄 Contenu de la réponse : {"success":true,"result":"uid=1000(hacker) gid=1000(hacker)"}

💬 Commande système à saisir : exit
👋 Fermeture.


⚠️ Précautions de sécurité

❌ Ne jamais utiliser dans un environnement de production.
✅ Ce script doit être utilisé uniquement dans un environnement de test local ou une VM isolée.
🛠️ La méthode --method moduleLoad crée réellement le fichier /tmp/evil.js.
🧾 L'option --log enregistre les résultats en texte clair ; limitez l'accès au fichier.
🔐 Toutes les requêtes vérifient l'exécution réelle de code JavaScript sur le serveur vulnérable.


📚 Références techniques

  • CVE officielle : CVE-2025-55182

  • Méthodes d'exploitation :

    1. child_process#execSync
    2. vm#runInThisContext
    3. fs#writeFileSync
    4. module#_load
  • Flux d'attaque :

    1. Envoi d'un formulaire multipart/form-data spécial à l'endpoint /formaction
    2. Appel de requireModule() sur le serveur
    3. Exécution de code via la chaîne de prototypes ou l'exécution de fonctions liées (RCE)

📄 Licence et conditions d'utilisation

Ce projet est fourni uniquement à des fins de recherche en sécurité, d'audit et de test.
Toute utilisation non autorisée sur des systèmes réels est illégale.

L'utilisateur est seul responsable de toute responsabilité légale découlant de l'utilisation de cet outil.