
Vérificateur React/Next.js React4Shell RCE CVE-2025-55182
Un outil complet de détection de vulnérabilités pour CVE-2025-55182 dans les applications React/Next.js avec plusieurs techniques de détection.
UNIQUEMENT À DES FINS DE TESTS DE SÉCURITÉ AUTORISÉS ET DE RECHERCHE
Cet outil est conçu pour :
L'accès non autorisé à des systèmes informatiques est illégal. Obtenez toujours une autorisation écrite avant de tester.
Ce détecteur teste de manière exhaustive si une application cible est vulnérable à CVE-2025-55182 en utilisant plusieurs techniques :
L'outil teste les chaînes de gadgets Node.js avec des opérations inoffensives :
1+1)echo test)path)/dev/null)Opérations de test :
echo test, 1+1)/dev/null)Ne fait PAS :
Cet outil utilise uv pour la gestion des dépendances et l'exécution.
Aucune installation nécessaire ! Clonez simplement et exécutez :
git clone <repository-url>
cd CVE-2025-55182/poc
uv run check http://target.com:3000
L'outil installera automatiquement les dépendances lors de la première exécution.
uv run check <target_url>
# Test a target with default settings (tests /formaction endpoint)
uv run check http://localhost:3002
# Specify custom endpoint
uv run check http://localhost:3002 --endpoint /api/formaction
# Test multiple targets from a file
uv run check --file targets.txt
# Save vulnerable hosts to file
uv run check --file targets.txt -o vulnerable.txt
# Increase timeout for slow connections
uv run check http://localhost:3002 --timeout 15
# Disable SSL verification (for self-signed certificates)
uv run check http://localhost:3002 --no-ssl-verify
# Quiet mode (minimal output)
uv run check http://localhost:3002 --quiet
usage: uv run check [-h] [-f FILE] [-e ENDPOINT] [-t TIMEOUT]
[--no-ssl-verify] [-q] [-o OUTPUT] [target]
positional arguments:
target Target URL (e.g., http://target.com:3000)
optional arguments:
-h, --help Show help message and exit
-f, --file FILE File containing target URLs (one per line)
-e, --endpoint API endpoint path (default: /formaction)
-t, --timeout Request timeout in seconds (default: 10)
--no-ssl-verify Disable SSL certificate verification
-q, --quiet Quiet mode (minimal output)
-o, --output OUTPUT Output file to write vulnerable hosts
0 - La cible n'est PAS vulnérable1 - La cible EST vulnérable130 - Interruption par l'utilisateur (Ctrl+C)# uv run check http://localhost:3002
======================================================================
CVE-2025-55182 Vulnerability Detector - Enhanced Edition
Multiple Detection Techniques | Comprehensive Coverage
======================================================================
[*] Testing http://localhost:3002/formaction
[*] Testing all detection techniques...
→ Gadget: fs#constructor: ✓ VULNERABLE
→ Gadget: vm#runInThisContext: ✓ VULNERABLE
→ Gadget: child_process#execSync: ✓ VULNERABLE
→ Gadget: module#_load: ✓ VULNERABLE
→ Gadget: fs#readFileSync: ✓ VULNERABLE
→ Gadget: util#promisify: ✗ Not vulnerable
→ Safe Side-Channel Detection: ✗ Not vulnerable
→ RCE PoC (Unix/Linux): ✗ Not vulnerable
→ RCE PoC (Windows): ✗ Not vulnerable
→ RCE with WAF Bypass (Unix/Linux): ✗ Not vulnerable
→ RCE with WAF Bypass (Windows): ✗ Not vulnerable
→ Advanced WAF Bypass (Unix/Linux): ✗ Not vulnerable
======================================================================
DETECTION RESULTS
======================================================================
Target: http://localhost:3002
Endpoint: /formaction
Techniques Tested: Multiple
Successful Techniques: 5 techniques detected vulnerability
Status: ⚠️ VULNERABLE
The target appears to be vulnerable to CVE-2025-55182.
Techniques that detected vulnerability:
-> Gadget: fs#constructor
-> Gadget: vm#runInThisContext
-> Gadget: child_process#execSync
-> Gadget: module#_load
-> Gadget: fs#readFileSync
Recommendation: Apply security patches immediately.
======================================================================
# uv run check http://localhost:8000
======================================================================
CVE-2025-55182 Vulnerability Detector - Enhanced Edition
Multiple Detection Techniques | Comprehensive Coverage
======================================================================
[*] Testing http://localhost:8000/formaction
[*] Testing all detection techniques...
→ Gadget: fs#constructor: ✗ Not vulnerable
→ Gadget: vm#runInThisContext: ✗ Not vulnerable
→ Gadget: child_process#execSync: ✗ Not vulnerable
→ Gadget: module#_load: ✗ Not vulnerable
→ Gadget: fs#readFileSync: ✗ Not vulnerable
→ Gadget: util#promisify: ✗ Not vulnerable
→ Safe Side-Channel Detection: ✗ Not vulnerable
→ RCE PoC (Unix/Linux): ✗ Not vulnerable
→ RCE PoC (Windows): ✗ Not vulnerable
→ RCE with WAF Bypass (Unix/Linux): ✗ Not vulnerable
→ RCE with WAF Bypass (Windows): ✗ Not vulnerable
→ Advanced WAF Bypass (Unix/Linux): ✗ Not vulnerable
======================================================================
DETECTION RESULTS
======================================================================
Target: http://localhost:8000
Endpoint: /formaction
Techniques Tested: Multiple
Status: ✓ NOT VULNERABLE
The target does not appear to be vulnerable to CVE-2025-55182.
All detection techniques failed to confirm vulnerability.
======================================================================
Le script permet de tester plusieurs hôtes à la fois.
# Create a file with target URLs (one per line)
echo "http://localhost:3002" > targets.txt
echo "http://localhost:8000" >> targets.txt
# Run batch scan
uv run check --file targets.txt -o vulnerable.txt
Sortie :
======================================================================
CVE-2025-55182 Vulnerability Detector - Enhanced Edition
Multiple Detection Techniques | Comprehensive Coverage
======================================================================
[*] Loaded 2 target(s) from file
[*] Testing target 1/2
[*] Testing http://localhost:3002/formaction
[*] Testing all detection techniques...
→ Gadget: fs#constructor: ✓ VULNERABLE
→ Gadget: vm#runInThisContext: ✓ VULNERABLE
[... additional techniques ...]
======================================================================
DETECTION RESULTS
======================================================================
Target: http://localhost:3002
Endpoint: /formaction
Techniques Tested: Multiple
Successful Techniques: 5 techniques detected vulnerability
Status: ⚠️ VULNERABLE
[... details ...]
======================================================================
[*] Testing target 2/2
[*] Testing http://localhost:8000/formaction
[*] Testing all detection techniques...
→ Gadget: fs#constructor: ✗ Not vulnerable
[... all techniques fail ...]
----------------------------------------------------------------------
Target: http://localhost:8000
Endpoint: /formaction
Techniques Tested: Multiple
Status: ✓ NOT VULNERABLE
----------------------------------------------------------------------
======================================================================
SUMMARY
======================================================================
Total targets tested: 2
Vulnerable: 1
Not vulnerable: 1
======================================================================
[+] Wrote 1 vulnerable host(s) to vulnerable.txt
Ces techniques testent si des modules et fonctions Node.js spécifiques sont accessibles via la vulnérabilité. Toutes utilisent des opérations sûres et non destructives :
1+1echo test inoffensifpath/dev/null (fichier système sûr)echo $((41*271))41*271Différents environnements peuvent bloquer certaines approches tout en en autorisant d'autres :
child_process mais autorisent le module vmCVE-2025-55182 est une vulnérabilité affectant certaines applications React/Next.js qui utilisent les Server Actions. La vulnérabilité permet aux attaquants d'exécuter du code arbitraire sur le serveur via une désérialisation non sécurisée de données contrôlées par l'utilisateur.
$ACTION_*Si vous découvrez des vulnérabilités avec cet outil :
Pour les problèmes, questions ou améliorations, veuillez vous référer à la documentation principale du projet.
Cet outil est fourni uniquement à des fins éducatives et de tests de sécurité autorisés.
Rappelez-vous : De grands pouvoirs impliquent de grandes responsabilités. Utilisez cet outil de manière éthique et légale.