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-29927 — Preuve de concept d'exploitation pour CVE-2025-29927, une vulnérabilité de contournement du middleware Next.js. Inclut des payloads spécifiques aux versions et un laboratoire basé sur Docker pour tester l'accès non autorisé aux routes protégées. | Kitploit
Outils/GitHubGitHub/jeymo092/cve-2025-29927
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHubjeymo092/cve-2025-29927

cve-2025-29927

Preuve de concept d'exploitation pour CVE-2025-29927, une vulnérabilité de contournement du middleware Next.js. Inclut des payloads spécifiques aux versions et un laboratoire basé sur Docker pour tester l'accès non autorisé aux routes protégées.

Voir le dépôt
1il y a 1 anPas 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-29927

Image

CVE-2025-29927 Vulnérabilité

Toutes les versions de Next.js de 11.1.4 à 13.5.6, les versions 14.x antérieures à 14.2.25 et les versions 15.x antérieures à 15.2.3 sont concernées par cette vulnérabilité. L'impact est particulièrement significatif pour les applications qui s'appuient sur le middleware pour implémenter des contrôles d'accès, car les attaquants peuvent obtenir un accès non autorisé à des ressources protégées sans authentification.

Mécanisme de la vulnérabilité

La vulnérabilité CVE-2025-29927 provient d'un défaut de conception dans la manière dont Next.js traite l'en-tête x-middleware-subrequest. Cet en-tête était initialement destiné à un usage interne au sein du framework Next.js pour empêcher les boucles infinies d'exécution du middleware.

Lorsqu'une application Next.js utilise un middleware, la fonction runMiddleware est appelée pour traiter les requêtes entrantes. Dans le cadre de ses fonctionnalités, cette fonction vérifie la présence de l'en-tête x-middleware-subrequest. Si cet en-tête existe et contient une valeur spécifique, l'exécution du middleware est complètement ignorée et la requête est transmise directement à sa destination d'origine via .

NextResponse.next()

La vulnérabilité réside dans le fait que cette vérification d'en-tête peut être exploitée par des utilisateurs externes. En ajoutant l'en-tête x-middleware-subrequest avec la valeur correcte à une requête, un attaquant peut contourner complètement tous les mécanismes de protection basés sur le middleware.

Guide d'installation du projet

  1. Clonez le dépôt :

    root@kitploit:~
    git clone <repository_url>
    
  2. Accédez au répertoire du projet :

    root@kitploit:~
    cd nextjs-docker-app
    
  3. Construisez l'image Docker :

    root@kitploit:~
    docker build -t nextjs-app .
    
  4. Exécutez le conteneur Docker :

    root@kitploit:~
    docker run -p 3000:3000 nextjs-app
    
  5. Accédez à l'application dans votre navigateur à l'adresse http://localhost:3000.

Exploitation selon les différentes versions de Next.js

La méthode d'exploitation varie légèrement selon la version de Next.js :

Pour les versions antérieures à 12.2 :

Dans ces versions, les fichiers middleware devaient être nommés _middleware.ts et placés dans le dossier pages. La valeur de middlewareInfo.name était composée du nom du répertoire et du nom du fichier :

root@kitploit:~
x-middleware-subrequest: pages/_middleware

Pour les routes imbriquées, il pouvait y avoir plusieurs fichiers middleware à différents niveaux, ce qui donnait plusieurs valeurs possibles pour l'en-tête :

root@kitploit:~
x-middleware-subrequest: pages/dashboard/_middleware

ou

root@kitploit:~
x-middleware-subrequest: pages/dashboard/panel/_middleware

Pour les versions 12.2 et ultérieures :

À partir de la version 12.2, Next.js a modifié les conventions du middleware. Le fichier doit être nommé middleware.ts (sans le tiret bas) et ne doit plus se trouver dans le dossier pages. Pour ces versions, la charge utile est plus simple :

root@kitploit:~
x-middleware-subrequest: middleware

De plus, Next.js permet une structure de projet alternative avec un répertoire /src. Dans ce cas, la charge utile serait :

root@kitploit:~
x-middleware-subrequest: src/middleware

Pour les versions 13.2.0 et ultérieures :

Pour les versions 13.2.0 et supérieures, Next.js a introduit une profondeur de récursion maximale pour l'exécution du middleware. Cela a été implémenté pour empêcher les boucles infinies, mais n'affecte pas la vulnérabilité. L'exploitation reste la même, car la vérification de l'en-tête se produit avant toute vérification de profondeur de récursion.

root@kitploit:~
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware

Alternativement, pour les projets utilisant une structure de répertoire /src :

root@kitploit:~
x-middleware-subrequest: src/middleware:src/middleware:src/middleware:sr
=======
# cve-2025-29927
>>>>>>> 56c7b2dcd548caf771750519107bf7c57749a864
Télécharger l’outil