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-poc — Preuve de concept pour CVE-2025-55182 (« React2Shell »). Un environnement entièrement dockerisé démontrant une exécution de code à distance (RCE) via une désérialisation non sécurisée dans les composants serveur React. Comprend des cibles vulnérables pour Vanilla React (Express) et Next.js, ainsi qu'un script d'exploitation Python personnalisé. | Kitploit
Outils/GitHubGitHub/trax69/cve-2025-55182-poc
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCTFTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges UtilesExploitation de BinairesLabs et Pratique
GitHubtrax69/cve-2025-55182-poc

cve-2025-55182-poc

Voir le dépôt
4il 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

Preuve de concept pour CVE-2025-55182 (« React2Shell »). Un environnement entièrement dockerisé démontrant une exécution de code à distance (RCE) via une désérialisation non sécurisée dans les composants serveur React. Comprend des cibles vulnérables pour Vanilla React (Express) et Next.js, ainsi qu'un script d'exploitation Python personnalisé.

Partager

CVE-2025-55182 (React2Shell) - Preuve de concept académique

⚠️ AVERTISSEMENT : USAGE ÉDUCATIF UNIQUEMENT Ce dépôt contient un code d'exploitation fonctionnel pour une vulnérabilité critique (CVSS 10.0). Il est destiné strictement à la recherche académique, à l'analyse de sécurité et à des fins éducatives. N'utilisez pas ce code contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester. L'auteur n'est pas responsable de toute mauvaise utilisation.

📄 Résumé

Ce projet documente et démontre CVE-2025-55182, une vulnérabilité critique d'exécution de code à distance (RCE) résidant dans l'architecture React Server Components (RSC). Souvent désignée sous le nom de « React2Shell », cette faille permet à des attaquants distants non authentifiés d'exécuter du code arbitraire sur le serveur en manipulant le protocole de sérialisation « Flight » utilisé par react-server.

Ce laboratoire fournit un environnement Docker contrôlé et isolé pour analyser la vulnérabilité dans deux scénarios distincts :

  1. Vanilla RSC : Une implémentation brute utilisant react-server-dom-webpack et Express.
  2. Next.js : Un déploiement standard utilisant une version vulnérable du routeur d'application Next.js.

🏗️ Architecture

L'environnement est orchestré via Docker Compose et se compose de trois conteneurs isolés connectés par un réseau interne privé (research-net).

ServiceContexteDescriptionComposant vulnérable
vanilla-targetvanilla-rsc/Serveur Express minimal implémentant manuellement le protocole RSC.[email protected]
nextjs-targetnextjs-app/Application Next.js standard utilisant App Router.[email protected] (impl. react-server)
attackerexploit/Environnement Python contenant les scripts d'exploitation.N/A

Cause technique racine

La vulnérabilité provient d'une désérialisation non sécurisée (CWE-502) dans l'analyseur du protocole Flight. En injectant une charge utile multipart spécialement conçue contenant une structure de morceau « factice », un attaquant peut :

  1. Polluer le prototype : Écraser la propriété .then d'un objet de type promesse.
  2. Déclencher des chaînes de gadgets : Forcer le serveur à parcourir une chaîne de gadgets interne (faisant référence aux blobs $B).
  3. Exécuter du code : Atteindre le constructeur Function() pour compiler et exécuter du JavaScript arbitraire (par exemple, child_process.execSync).

🚀 Pour commencer

Prérequis

  • Docker & Docker Compose
  • Git

Installation et déploiement

  1. Cloner le dépôt :

    root@kitploit:~
    git clone https://github.com/trax69/cve-2025-55182-poc.git
    cd cve-2025-55182-poc
    
  2. Construire et lancer le laboratoire :

    root@kitploit:~
    docker-compose up -d --build
    

    Attendez que les conteneurs soient complètement initialisés. Le conteneur Next.js peut prendre quelques minutes pour terminer sa première compilation.

💥 Exploitation

La logique d'exploitation est encapsulée dans exploit/exploit.py. Vous pouvez exécuter les attaques depuis votre machine hôte (si Python est installé) ou directement depuis le conteneur attacker.

Méthode A : Exécution depuis le conteneur de l'attaquant (recommandé)

  1. Accéder au shell de l'attaquant :

    root@kitploit:~
    docker-compose exec attacker bash
    
  2. Installer les dépendances :

    root@kitploit:~
    pip install -r requirements.txt
    
  3. Attaquer la cible A (Vanilla React) :

    root@kitploit:~
    python exploit.py http://vanilla-target:4000/rsc vanilla
    
  4. Attaquer la cible B (Next.js) :

    root@kitploit:~
    python exploit.py http://nextjs-target:3000/ nextjs
    

Vérification

L'exploit tente de créer un fichier nommé pwned.txt dans le répertoire /tmp du serveur victime. Pour vérifier le succès :

root@kitploit:~
# Check Vanilla Server
docker-compose exec vanilla-target ls -la /tmp/pwned.txt

# Check Next.js Server
docker-compose exec nextjs-target ls -la /tmp/pwned.txt

En cas de succès, vous verrez la liste du fichier. Si l'exploit échoue, le fichier n'existera pas.

🛡️ Atténuation

Pour corriger cette vulnérabilité dans les environnements de production :

  1. React : Mettez à niveau react-server-dom-webpack (et les packages associés) vers les versions 19.0.1, 19.1.2 ou 19.2.1+.
  2. Next.js : Mettez à niveau vers v15.0.5+ ou v16.0.7+.
  3. WAF : Implémentez des règles pour bloquer les requêtes contenant des signatures comme "$1:__proto__" ou des utilisations inhabituelles de "$@" dans les corps multipart.

📚 Références

  • (https://nvd.nist.gov/vuln/detail/CVE-2025-55182)
  • (https://github.com/msanft/CVE-2025-55182)

Projet universitaire - Audit de sécurité et recherche de vulnérabilités

Télécharger l’outil