Détecte la RCE CVE-2025-55182 dans les React Server Components en scannant les lockfiles npm/pnpm/yarn, les images Docker, les SBOMs et les URLs en direct. Inclut l'auto-fix, la sortie SARIF et les intégrations CI/CD.
Scanner de sécurité pour CVE-2025-55182 - une vulnérabilité critique (CVSS 10.0) d'exécution de code à distance non authentifiée dans les composants serveur React.
⚠️ AVERTISSEMENT
Ceci est un scanner de sécurité, PAS un outil d'exploitation. Il est conçu pour aider les développeurs et les équipes de sécurité à identifier les dépendances vulnérables dans leurs projets.
Ceci est un projet open source communautaire fourni "EN L'ÉTAT" sans garantie d'aucune sorte, expresse ou implicite. Les auteurs et contributeurs ne sont pas responsables des dommages ou incidents de sécurité résultant de l'utilisation de cet outil.
Utilisez-le à vos propres risques et responsabilités. Vérifiez toujours les résultats manuellement et suivez les politiques de sécurité de votre organisation. Si vous découvrez des problèmes, des bogues ou avez des suggestions, veuillez contribuer pour améliorer le projet pour tout le monde.
🤝 CONTRIBUTEURS RECHERCHÉS
Ce projet recherche activement des testeurs et des contributeurs ! Que vous souhaitiez signaler des bogues, suggérer des fonctionnalités, améliorer la documentation ou soumettre du code - toutes les contributions sont les bienvenues. Consultez notre Guide de contribution pour commencer.
Ce projet existe pour aider la communauté à répondre à la CVE-2025-55182. Nous reconnaissons et remercions :
Le moyen le plus rapide de vérifier si votre projet est vulnérable :```bash npx react2shell-guard .
That's it! Cela analysera votre répertoire courant et affichera les résultats immédiatement.
### 2. Analyser un projet spécifique```bash
npx react2shell-guard /path/to/your/project
Des vulnérabilités trouvées? Corrigez-les automatiquement :```bash
npx react2shell-guard fix --dry-run
npx react2shell-guard fix
npx react2shell-guard fix --install
### 4. Analyser les URL actives
Vérifiez si une application déployée est vulnérable :```bash
npx react2shell-guard scan-url https://your-app.com
Confirmez que votre correctif déployé fonctionne:```bash npx react2shell-guard verify-patch https://your-app.com
### 6. Analyser les images de conteneurs
Vérifiez si vos images Docker contiennent des paquets vulnérables :```bash
npx react2shell-guard scan-image myapp:latest
Créez automatiquement une PR GitHub pour corriger les vulnérabilités :```bash npx react2shell-guard create-pr --dry-run # Preview npx react2shell-guard create-pr # Create PR
---
## Qu'est-ce que CVE-2025-55182?
Le 29 novembre 2025, le chercheur en sécurité Lachlan Davidson a découvert et divulgué de manière responsable une vulnérabilité critique dans React Server Components. Le défaut réside dans la manière dont React décode les charges utiles envoyées aux points de terminaison React Server Function, permettant à des attaquants non authentifiés d'exécuter du code à distance sur les serveurs concernés sans aucune interaction utilisateur.
CVE-2025-55182 est noté CVSS 10.0 (Critique) et affecte React Server Components (RSC) ainsi que les frameworks utilisant le protocole RSC "Flight".
**Paquets affectés :**
- `react-server-dom-webpack` 19.0.0, 19.1.0-19.1.1, 19.2.0
- `react-server-dom-parcel` (mêmes versions)
- `react-server-dom-turbopack` (mêmes versions)
- `next` 15.0.0-15.0.4, 15.1.0-15.1.8, 15.2.0-15.2.5, 15.3.0-15.3.5, 15.4.0-15.4.7, 15.5.0-15.5.6, 16.0.0-16.0.6
**Plus d'informations :**
- [Avis de sécurité React](https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components)
- [Recherche Wiz](https://www.wiz.io/blog/critical-vulnerability-in-react-cve-2025-55182)
---
## Installation (Optionnel)
Pour une utilisation fréquente, installez globalement :```bash
npm install -g react2shell-guard
Ensuite, utilisez sans npx :```bash
react2shell-guard .
---
## Guide d'utilisation
### Analyse de base```bash
# Scan current directory
react2shell-guard .
# Scan specific directory
react2shell-guard /path/to/project
# Scan and ignore certain paths
react2shell-guard . --ignore-path "examples/**" "test/**"
react2shell-guard .
react2shell-guard . --json
react2shell-guard . --sarif
react2shell-guard . --html report.html
### CLI Options
| Option | Description |
|--------|-------------|
| `--json` | Afficher les résultats en JSON |
| `--sarif` | Afficher les résultats en SARIF 2.1.0 |
| `--html <file>` | Générer un rapport HTML autonome |
| `--no-exit-on-vuln` | Ne pas quitter avec le code 1 lorsque des vulnérabilités sont trouvées |
| `--ignore-path <patterns>` | Chemins à ignorer (par ex., `examples/**`) |
| `--debug` | Activer les sorties de débogage |
### Codes de sortie
| Code | Signification |
|------|---------------|
| `0` | Aucune vulnérabilité trouvée |
| `1` | Vulnérabilités détectées |
| `2+` | Erreur fatale |
## Analyse d'URL en direct
Analysez les points de terminaison en direct pour détecter s'ils sont vulnérables :```bash
# Scan a single URL
react2shell-guard scan-url https://example.com
# Batch scan from a file (one URL per line)
react2shell-guard scan-url urls.txt --list
# With options
react2shell-guard scan-url https://example.com --timeout 5000 --json
Le scanner utilise l'empreinte passive pour détecter les points de terminaison vulnérables des composants React Server sans exploiter la vulnérabilité :
Requête de sonde : Envoie une requête POST construite simulant un appel d'action Serveur RSC avec une charge utile minimale :
multipart/form-data avec une structure de données de type RSCNext-Action pour déclencher le traitement de l'action ServeurAnalyse de la réponse : Analyse la réponse HTTP pour les signatures de vulnérabilité :
^[0-9]+:E{ - Format d'erreur du protocole RSC Flight"digest":"...RSC - Digest RSC dans les réponses d'erreurReactServerComponentsError - Noms de classes d'erreur Reacttext/x-component.*error - Type de contenu d'erreur de composantNon destructif : Il s'agit purement d'un mécanisme de détection - il n'exécute aucune charge utile malveillante ni n'exploite la vulnérabilité. La sonde utilise des données bénignes qui déclenchent des réponses d'erreur sur les serveurs vulnérables mais ne causent aucun dommage.