Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
react2shell-poc-CVE-2025-55182 — Exploit de preuve de concept pour CVE-2025-55182, une vulnérabilité RCE critique dans les Server Actions de Next.js. Exploite la désérialisation non sécurisée dans le protocole React Flight pour exécuter des commandes arbitraires via la pollution de prototype et le contournement de sandbox. | Kitploit
Outils/GitHubGitHub/tamagorengs/react2shell-poc-cve-2025-55182
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebApprentissage et ÉducationDéveloppement de Charges Utiles
GitHubtamagorengs/react2shell-poc-cve-2025-55182

react2shell-poc-CVE-2025-55182

Voir le dépôt
10il y a 9 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 de preuve de concept pour CVE-2025-55182, une vulnérabilité RCE critique dans les Server Actions de Next.js. Exploite la désérialisation non sécurisée dans le protocole React Flight pour exécuter des commandes arbitraires via la pollution de prototype et le contournement de sandbox.

Partager

PoC React2Shell (CVE-2025-55182)

Un script de Preuve de Concept (PoC) pour React2Shell (CVE-2025-55182), une vulnérabilité critique d'exécution de code à distance (RCE) affectant les applications Next.js utilisant les Server Actions.

[!WARNING] Avertissement: Cet outil est destiné uniquement à des fins éducatives et de test autorisé. Je ne suis pas responsable de toute utilisation abusive.

Description

Ce script exploite une vulnérabilité de désérialisation non sécurisée dans le protocole "Flight" des React Server Components. Il permet à des attaquants non authentifiés d'exécuter du code JavaScript arbitraire sur le serveur, conduisant à une exécution de code à distance (RCE) partielle.

Fonctionnalités

  • Payload Robuste: Utilise une vérification de compatibilité pour trouver require (global.require ou via le constructeur de module), garantissant son fonctionnement sur les versions modernes de Node.js (v14+).
  • Configuration Dynamique: Spécifiez l'URL cible et la commande via des drapeaux CLI.
  • Gestion des Erreurs: Gestion élégante des erreurs de connexion.

Installation

  1. Clonez le dépôt.
  2. Installez les dépendances :
pip install -r requirements.txt

Utilisation

python3 react2shell.py -u <TARGET_URL> [-c <COMMAND>]
ArgumentDescriptionDéfaut
-u, --urlRequis. L'URL cible (par ex., http://localhost:3000/).N/A
-c, --cmdOptionnel. La commande à exécuter sur le serveur.id

Exemples

Vérifier l'identité de l'utilisateur :

python3 react2shell.py -u http://127.0.0.1:3000/

Lister le contenu d'un répertoire :

python3 react2shell.py -u http://127.0.0.1:3000/ -c "ls -la"

Lire un fichier sensible :

python3 react2shell.py -u http://127.0.0.1:3000/ -c "cat /etc/passwd"

Analyse Technique

L'exploit exploite une chaîne de Pollution de Prototype et de Désérialisation non sécurisée dans la gestion des Server Actions de Next.js pour les React Server Components (RSC).

  1. Point d'Entrée: L'en-tête Next-Action indique au serveur de traiter une Server Action.
  2. Pollution de Prototype: Le payload JSON injecte une propriété then malveillante ("$1:__proto__:then"). Cela trompe le gestionnaire de requêtes asynchrones du serveur en lui faisant considérer le payload comme un objet "Thenable" (semblable à une Promise).
  3. Injection de Code: Lorsque le serveur tente de résoudre cette fausse Promise, il traite l'objet _response. Le champ _prefix est normalement utilisé pour la mise en tampon interne du flux, mais en le manipulant, nous pouvons injecter du JavaScript brut.
  4. Contournement du Bac à Sable: Dans les environnements modernes Next.js/Webpack, la fonction require est souvent retirée de la portée globale pour empêcher la RCE. Le script contourne cela en parcourant la chaîne de prototypes de process.mainModule :
    var require = global.require || global.process.mainModule.constructor._load;
    
    Cela récupère le chargeur de modules interne, nous permettant d'importer child_process et d'exécuter des commandes système.
  5. Exécution et Exfiltration: Le code injecté s'exécute de manière synchrone (execSync), et la sortie est lancée comme un objet Error. Cette erreur est sérialisée et renvoyée au client dans le corps de la réponse HTTP, nous permettant de voir la sortie de la commande.

Remerciements

Cet outil a été développé avec l'assistance de Gemini 3 Pro.

Télécharger l’outil