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
react-cve-2025-55182 — Tester et analyser la vulnérabilité CVE-2025-55182 dans Next.js Server Actions | Kitploit
Outils/GitHubGitHub/niokagi/react-cve-2025-55182
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges UtilesLabs et Pratique
GitHubniokagi/react-cve-2025-55182

react-cve-2025-55182

Tester et analyser la vulnérabilité CVE-2025-55182 dans Next.js Server Actions

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

CVE-2025-55182: Test React/Next.js

Statut du projet : Expérimental / Preuve de concept

Ce dépôt constitue un environnement de recherche contrôlé et un cadre de Preuve de Concept (PoC) pour analyser CVE-2025-55182. Il démontre une vulnérabilité de Pollution de prototype dans le contexte des Actions serveur de Next.js, ciblant spécifiquement des opérations de fusion récursives non sécurisées.

Aperçu

La vulnérabilité principale réside dans une fonction utilitaire deepMerge personnalisée implémentée dans une Action serveur Next.js (syncConfiguration). La fonction manque d'une désinfection adéquate pour les clés d'objet spéciales – notamment __proto__ et constructor. Cette omission permet à un attaquant non authentifié d'injecter des propriétés arbitraires dans le Object.prototype global.

Dans un environnement d'exécution Node.js côté serveur, une pollution de prototype réussie peut entraîner :

  • Manipulation d'état à distance : Modification de la logique applicative, des indicateurs d'autorisation (ex. isAdmin) ou des paramètres de configuration à l'échelle globale.
  • Déni de service (DoS) : Déstabilisation de l'application en écrasant des méthodes internes critiques comme toString ou valueOf.
  • Exécution de code à distance (RCE) potentielle : Bien que ce laboratoire démontre principalement la manipulation d'état, la pollution de prototype peut souvent être chaînée avec d'autres gadgets (ex. dans child_process ou les moteurs de templates) pour parvenir à une exécution de code arbitraire.

Structure du dépôt

  • lab/next-app/ : Une application Next.js 15 vulnérable conçue pour simuler la faille de sécurité.
    • src/app/actions.jsx : Le code côté serveur contenant l'implémentation vulnérable de deepMerge.
  • exploits/ : Scripts d'automatisation Python pour les tests et l'exploitation.
    • rce.py : Un script qui automatise l'injection de charges utiles JSON malveillantes pour démontrer la pollution d'état du serveur.
    • get-shell.py : Un PoC avancé explorant les vecteurs de désérialisation du protocole de vol RSC.
  • docs/PAYLOADS.md : Un document de référence contenant diverses charges utiles JSON pour les tests manuels et l'analyse.

Instructions d'utilisation

1. Configuration de l'environnement

Vous pouvez exécuter le laboratoire en utilisant Docker (recommandé) ou localement.

Option A : Docker (Recommandé)

Assurez-vous que Docker et Docker Compose sont installés.

root@kitploit:~
docker-compose up --build

L'application sera accessible à l'adresse http://localhost:3000.

Option B : Installation locale

Nécessite Node.js 20+.

root@kitploit:~
cd lab/next-app
npm install
npm run dev

L'application sera accessible à l'adresse http://localhost:3000.

2. Vérification manuelle

  1. Naviguez vers http://localhost:3000.
  2. Sélectionnez une charge utile dans docs/PAYLOADS.md (par exemple, la charge utile de base).
  3. Saisissez la charge utile dans le champ "Config_Payload_Input" et soumettez via "Commit_Changes".
  4. Vérifiez l'alerte "RUNTIME_POLLUTION_DETECTED", indiquant une exploitation réussie.

3. Exploitation automatisée

Les scripts Python fournis permettent une vérification programmatique de la vulnérabilité.

Prérequis : Récupérez l'ID de l'Action Next depuis l'onglet Réseau du navigateur (cherchez un en-tête de requête POST Next-Action) ou la sortie du terminal du serveur.

Utilisation avec Docker (Recommandé)

  1. Entrez dans le conteneur attaquant :
    root@kitploit:~
    docker exec -it exploit-runner bash
    
  2. Exportez l'ID de l'action et exécutez l'exploit :
    root@kitploit:~
    export ACTION_ID="votre_id_action"
    python3 rce.py "id"
    

Utilisation avec Python local

  1. Installez les dépendances :
    root@kitploit:~
    pip install -r exploits/requirements.txt
    
  2. Exécutez l'exploit (définissez ACTION_ID comme variable d'environnement ou modifiez le script) :
    root@kitploit:~
    export ACTION_ID="votre_id_action"
    python3 exploits/rce.py "id"
    

Remarque : Le script rce.py est configuré pour démontrer une pollution d'état réussie. L'exécution complète d'un shell dépend de gadgets environnementaux spécifiques qui peuvent varier.

Avertissement

Ce projet est destiné uniquement à des fins éducatives et de recherche en sécurité.

N'utilisez pas le code ou les techniques fournis ici sur des systèmes pour lesquels vous n'avez pas d'autorisation explicite et écrite. Les auteurs ne sont pas responsables de toute utilisation abusive ou des dommages causés par ce matériel.

Télécharger l’outil