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-React2Shell — React2Shell (CVE-2025-55182) proof-of-concept (PoC) exploit démontrant une vulnérabilité CRITIQUE d'exécution de code à distance dans les frameworks web modernes utilisant React Server Components (RSC). | Kitploit
Outils/GitHubGitHub/rsch-io/cve-2025-55182-react2shell
Génération de PayloadsExploitationExploitation d'Applications WebContournement de WAFTests d'IntrusionApprentissage et ÉducationRed Teaming
GitHubrsch-io/cve-2025-55182-react2shell

CVE-2025-55182-React2Shell

React2Shell (CVE-2025-55182) proof-of-concept (PoC) exploit démontrant une vulnérabilité CRITIQUE d'exécution de code à distance dans les frameworks web modernes utilisant React Server Components (RSC).

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

React2Shell

Language CVE CVSS Target License

React2Shell est une preuve de concept (PoC) qui démontre une vulnérabilité CRITIQUE d'exécution de code à distance (RCE) dans les frameworks web modernes utilisant React Server Components (RSC).

Cette PoC cible CVE-2025‑55182, une vulnérabilité CVSS 10.0 qui permet à des d'exécuter des commandes système arbitraires via une désérialisation non sécurisée dans l'implémentation de React Server Components.

attaquants distants non authentifiés

🔍 Présentation de la vulnérabilité

React2Shell exploite une faille dans la façon dont React Server Components traite les entrées non fiables pendant la phase de réhydratation.

MétriqueDétails
GravitéCRITIQUE (10.0 / 10.0)
VecteurCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Vecteur d’attaqueRéseau (distant)
Interaction utilisateurAucune

La vulnérabilité provient des packages sous‑jacents react-server-dom-* responsables de la sérialisation et de la désérialisation des arbres de composants.


💥 Impact

Les applications utilisant des versions affectées de React Server Components peuvent traiter des charges utiles malveillantes d’une manière qui conduit à l’exécution de code à distance (RCE) sous les privilèges du processus serveur.

Un attaquant peut :

  • Exécuter des commandes système arbitraires.
  • Pivoter vers l’infrastructure interne.
  • Exfiltrer des données sensibles.
  • Perturber la disponibilité du service.

Si votre déploiement correspond à l’une des versions vulnérables ci‑dessous et expose des points de terminaison RSC, vous êtes vulnérable.


📦 Composants affectés

La vulnérabilité est présente dans les versions 19.0.0, 19.1.0, 19.1.1 et 19.2.0 de :

  • react-server-dom-parcel
  • react-server-dom-webpack
  • react-server-dom-turbopack

🎯 Frameworks et versions affectés

Ces packages sont intégrés dans plusieurs frameworks, notamment :

  • Next.js
    • Versions 15.0.0 à 16.0.6
    • Versions canary après 14.3.0-canary.76
  • Autres frameworks utilisant RSC (v19.0.0–19.2.0), comme :
    • Vite
    • Parcel
    • React Router
    • RedwoodSDK
    • Waku

Tout framework intégrant l’implémentation vulnérable de React Server Components est potentiellement affecté.


🛠 Fonctionnalités et capacités

React2Shell inclut un générateur de charge utile modulaire conçu pour contourner les restrictions courantes de Node.js et les règles WAF :

  • Injection Standard

    • Utilise process.mainModule.require
    • Cible les bundles par défaut Next.js / Webpack.
  • Contournement Asynchrone

    • Utilise import() dynamique pour les environnements ESM stricts où require n’est pas disponible.
  • Obscurcissement

    • Encode les chaînes sensibles (par exemple, child_process) dans des tampons hexadécimaux pour contourner les signatures WAF naïves.
  • Repli de Module

    • Utilise module.createRequire pour charger des modules dans des contextes alternatifs.
  • Ciblage Universel

    • Points de terminaison configurables :
      • Next.js : racine /
      • Waku : points de terminaison RSC tels que /RSC/foo.txt

🚀 Installation

Prérequis

  • Node.js v18.0.0 ou supérieur.

Configuration

root@kitploit:~
git clone https://github.com/rsch-io/CVE-2025-55182-React2Shell.git
cd CVE-2025-55182-React2Shell

npm install form-data

📖 Utilisation

React2Shell est destiné à être importé en tant que module dans vos propres scripts de test.

1. Exploit Basique (Cible Next.js)

Créez un fichier nommé exploit.js :

root@kitploit:~
const React2Shell = require('./src/react2shell');

// Initialize with target base URL
const target = new React2Shell('http://localhost:3000');

// Execute command using the "standard" strategy
// Arguments: execute(command, endpoint, strategy)
target.execute('whoami', '/', 'standard');

Exécutez ensuite :

root@kitploit:~
node exploit.js

Remarque

  • endpoint doit être défini sur une route activée pour RSC (par exemple, /, /RSC/foo.txt, ou des points de terminaison RSC spécifiques au framework).
  • strategy peut être modifié (par exemple, standard, async, obfuscated, ou toute autre stratégie implémentée dans react2shell).

2. Cibler Waku / Points de Terminaison Personnalisés

Waku et d’autres frameworks exposent souvent la gestion RSC sur des routes spécifiques :

root@kitploit:~
// Target a Waku application
// Note: Use 'async' strategy as Waku often runs in strict ESM
target.execute('ls -la', '/RSC/foo.txt', 'async');

3. Mode de Contournement WAF

Si le serveur bloque les chaînes contenant child_process, vous pouvez utiliser la stratégie obfuscated :

root@kitploit:~
target.execute('cat /etc/passwd', '/', 'obfuscated');

🛡️ Résolution et Correction

Mettez à jour immédiatement. Les versions mises à jour de React et des frameworks en aval affectés incluent un traitement renforcé des entrées utilisateur pour éviter les comportements non souhaités.
Tous les utilisateurs doivent passer à une version corrigée dès que possible.

✅ Liste des Versions Corrigées

Voici la liste définitive des versions corrigées. Si votre version déployée est inférieure à celles‑ci, vous êtes vulnérable.

Logiciel / PackageBranche / Type🛡️ Version(s) Corrigée(s) / Sûre(s)
ReactStable19.0.1, 19.1.2, 19.2.1
Next.jsv15 (Stable)15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7
Next.jsv16 (Stable)16.0.7
Next.jsCanary15.6.0-canary.58

Avertissement pour les utilisateurs de Next.js 14 Si vous utilisez Next.js 14.3.0-canary.77 ou une version canary ultérieure, vous êtes vulnérable.
Vous devez immédiatement revenir à la dernière version stable 14.x, car la vulnérabilité affecte l’implémentation expérimentale RSC présente dans ces builds canary.


⚠️ Avertissement

Ce projet est fourni uniquement à des fins éducatives et de tests de sécurité autorisés.
Utiliser cet outil contre des systèmes sans autorisation explicite est illégal et contraire à l’éthique.

Les auteurs déclinent toute responsabilité en cas d’utilisation abusive ou de dommages causés par cet outil.


📄 Licence

Ce projet est sous licence MIT License. Consultez le fichier LICENSE pour plus de détails.

Télécharger l’outil