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

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

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
11il y a 8 moisPas encore vérifié

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 attaquants distants non authentifiés 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.


🔍 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.

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.

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