
CVE-2025-55182 & CVE-2025-66478 Outil de détection pour Next.js RSC RCE
Un scanner de vulnérabilités en ligne de commande haute fidélité pour détecter CVE-2025-55182 et CVE-2025-66478 (Exécution de code à distance) dans les applications Next.js utilisant les composants serveur React (RSC).
Ces vulnérabilités critiques affectent les applications Next.js utilisant les composants serveur React, permettant l'exécution de code à distance non authentifiée via des requêtes POST multipart spécialement conçues.
Versions affectées :
Pour les détails techniques, voir : Recherche Assetnote
Le scanner envoie une requête POST multipart spécialement conçue contenant une charge utile de preuve de concept RCE qui exécute une opération mathématique déterministe (). Les hôtes vulnérables renvoient le résultat dans l'en-tête de réponse comme .
41*271 = 11111X-Action-Redirect/login?a=11111| Mode | Description | Cas d'utilisation |
|---|---|---|
| RCE PoC (par défaut) | Exécute une opération mathématique inoffensive sur la cible | Confirmation rapide de vulnérabilité |
| Safe Check | Détection par canal auxiliaire via les réponses d'erreur | Lorsque l'exécution de code n'est pas souhaitée |
# Clone the repository
git clone https://github.com/YOUR_USERNAME/react2shell-scanner.git
cd react2shell-scanner
# Install dependencies
pip install -r requirements.txt
# Scan a single target
python scanner.py -u https://example.com
# Scan multiple targets from file
python scanner.py -l hosts.txt
# Multi-threaded scan with JSON output
python scanner.py -l hosts.txt -t 20 -o results.json
# Scan with custom headers
python scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"
# Safe detection mode (no code execution)
python scanner.py -u https://example.com --safe-check
# Scan Windows targets
python scanner.py -u https://example.com --windows
# WAF bypass mode
python scanner.py -u https://example.com --waf-bypass
# Vercel-specific WAF bypass
python scanner.py -u https://example.com --vercel-waf-bypass
# Combine options
python scanner.py -l hosts.txt -t 50 --waf-bypass --windows -o results.json
| Option | Description |
|---|---|
-u, --url | URL unique à vérifier |
-l, --list | Fichier contenant les hôtes (un par ligne) |
-t, --threads | Nombre de threads simultanés (par défaut : 10) |
--timeout | Délai d'attente de la requête en secondes (par défaut : 10) |
-o, --output | Fichier de sortie pour les résultats (format JSON) |
--all-results | Enregistrer tous les résultats, pas seulement les hôtes vulnérables |
-v, --verbose | Inclure le corps de la réponse dans la sortie |
-q, --quiet | Afficher uniquement les hôtes vulnérables |
--no-color | Désactiver la sortie colorée du terminal |
-k, --insecure | Désactiver la vérification du certificat SSL |
-H, --header | En-tête personnalisé (peut être utilisé plusieurs fois) |
--safe-check | Utiliser la détection par canal auxiliaire au lieu du PoC RCE |
--windows | Utiliser la charge utile PowerShell Windows au lieu du shell Unix |
--waf-bypass | Ajouter des données factices pour contourner l'inspection du contenu WAF |
--waf-bypass-size | Taille des données factices en Ko (par défaut : 128) |
--vercel-waf-bypass | Utiliser la variante de charge utile de contournement WAF Vercel |
╔═══════════════════════════════════════════════════════════════╗
║ react2shell-scanner ║
║ CVE-2025-55182 & CVE-2025-66478 Detection Tool ║
╚═══════════════════════════════════════════════════════════════╝
┌─────────────────────────────────────────────────────────────┐
│ SCAN CONFIGURATION │
├─────────────────────────────────────────────────────────────┤
│ Targets: 5 │
│ Threads: 10 │
│ Detection Mode: RCE PoC │
│ Payload Type: Unix (Shell) │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ TARGET: https://example.com │
├─────────────────────────────────────────────────────────────┤
│ Status: 🟢 SAFE │
│ HTTP Status: 200 │
│ Response Time: 245.32ms │
│ Server: Vercel │
└─────────────────────────────────────────────────────────────┘
═════════════════════════════════════════════════════════════════
SCAN SUMMARY
═════════════════════════════════════════════════════════════════
Total Targets: 5
Vulnerable: 0
Safe: 5
Total Scan Time: 2.34s
═════════════════════════════════════════════════════════════════
Lorsque vous utilisez -o results.json, les résultats sont sauvegardés au format JSON :
[
{
"url": "https://vulnerable-site.com",
"vulnerable": true,
"message": "RCE confirmed: X-Action-Redirect = /login?a=11111",
"status_code": 200,
"response_time": 342.15,
"server": "Next.js",
"payload_type": "rce-poc (Unix)",
"x_action_redirect": "/login?a=11111"
}
]
Cet outil est destiné uniquement aux tests de sécurité autorisés. N'utilisez ce scanner que contre des systèmes pour lesquels vous avez une autorisation explicite de tester. L'accès non autorisé aux systèmes informatiques est illégal.
Les auteurs ne sont pas responsables de toute utilisation abusive ou des dommages causés par cet outil.
Licence MIT - Voir le fichier LICENSE pour plus de détails.
Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)