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-2026-29057-POC — Lab basé sur Docker reproduisant le request smuggling de CVE-2026-29057 dans Next.js, comparant la version vulnérable 15.5.12 à la version corrigée 15.5.13 avec une charge utile HTTP chunked brute. | Kitploit
Outils/GitHubGitHub/learnerxuan/cve-2026-29057-poc
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'IntrusionArticles et RechercheApprentissage et ÉducationLabs et Pratique
GitHub
learnerxuan/cve-2026-29057-poc

CVE-2026-29057-POC

Lab basé sur Docker reproduisant le request smuggling de CVE-2026-29057 dans Next.js, comparant la version vulnérable 15.5.12 à la version corrigée 15.5.13 avec une charge utile HTTP chunked brute.

Voir le dépôt
il y a 8h 17mPas 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-2026-29057 — Laboratoire de contrebande de requêtes Next.js

Ce dépôt est un laboratoire de présentation ciblé sur CVE-2026-29057. Il compare une cible Next.js vulnérable (15.5.12) avec la version corrigée (15.5.13) en utilisant la même topologie et la même charge utile HTTP brute.

Utilisez-le uniquement dans un laboratoire isolé. Les sondes de désynchronisation de requêtes peuvent perturber les connexions partagées dans des environnements réels.

Attribution

Ce dépôt est adapté du dépôt original de preuve de concept Next.js de Nayaka Ghana Subrata. Le crédit complet revient à l'auteur original pour le travail de preuve de concept fondamental.

J'ai réorganisé et modifié ce travail pour me concentrer spécifiquement sur CVE-2026-29057, y compris les supports de présentation, la démonstration guidée, le scénario de laboratoire, les commentaires explicatifs et la comparaison vulnérable versus corrigé. Ce dépôt est une adaptation éducative et ne doit pas être confondu avec le dépôt de l'auteur original.

Présentation

  • Diapositives de présentation CVE-2026-29057
  • Script de présentation
  • Procédure de démonstration
  • Questions-réponses du présentateur
  • Ce que le laboratoire démontre

    1. Le client envoie une seule requête DELETE /api/workspace/tasks/1042 en mode chunked.
    2. Son corps contient des octets épelant une seconde requête : GET /secret.
    3. Le proxy vulnérable supprime Transfer-Encoding et ajoute Content-Length: 0, tandis que les octets du corps sont toujours transmis.
    4. L'intermédiaire en aval analyse les octets restants comme une seconde requête et transmet les deux requêtes analysées au backend final.
    CibleNext.jsRequêtes backend
    Vulnérable15.5.12DELETE /api/workspace/tasks/1042, puis GET /secret
    Corrigé15.5.13DELETE /api/workspace/tasks/1042 uniquement

    Structure du dépôt

    root@kitploit:~
    .
    ├── docker-compose.yml
    ├── DEMO-RUNBOOK.md
    ├── PRESENTATION-SCRIPT.md
    ├── PRESENTATION-QA.md
    ├── pocs/cve-2026-29057/
    │   ├── app/
    │   ├── support/server.js
    │   ├── next.config.js
    │   └── Dockerfile
    └── scripts/run-cve-2026-29057.mjs
    

    Démarrer le laboratoire

    Prérequis : Docker Compose et Node.js 18 ou plus récent.

    root@kitploit:~
    docker compose up --build cve-2026-29057-vuln cve-2026-29057-fixed
    
    • Vulnérable : http://localhost:3105
    • Corrigé : http://localhost:3106

    Exécuter la démonstration différentielle

    root@kitploit:~
    node scripts/run-cve-2026-29057.mjs http://localhost:3105
    node scripts/run-cve-2026-29057.mjs http://localhost:3106
    

    Preuve attendue pour la version vulnérable :

    root@kitploit:~
    [after] {"backendRequests":["DELETE /api/workspace/tasks/1042","GET /secret"],"flag":"FLAG{one_stream_two_requests}"}
    PoC result: vulnerable behavior reproduced.
    Flag: FLAG{one_stream_two_requests}
    

    Preuve attendue pour la version corrigée :

    root@kitploit:~
    [after] {"backendRequests":["DELETE /api/workspace/tasks/1042"],"flag":null}
    PoC result: smuggled request was not observed. This usually means the target is patched.
    

    La preuve significative est différentielle : la topologie et la charge utile restent inchangées ; seule la version de Next.js diffère.

    Récit de découverte en boîte noire

    Le laboratoire n'exige pas que le présentateur prétende qu'un attaquant connaisse magiquement les deux chemins :

    1. La page étiquette visiblement Launch brief comme Task #1042. Cliquez sur Delete task en naviguant via Burp. L'historique du proxy montre la requête légitime DELETE /api/workspace/tasks/1042, donc le chemin porteur provient directement du trafic applicatif normal.
    2. Demandez /robots.txt. Il pointe vers l'artefact /ops/release-manifest déployé accidentellement.
    3. Demandez ce manifeste. Il identifie /api/workspace/ comme préfixe de service public, divulgue /secret comme route interne, et nomme /api/state comme journal des requêtes. Il ne révèle pas le flag lui-même.

    Le manifeste est une faiblesse délibérée de divulgation d'informations pour le récit du laboratoire. Elle est distincte de CVE-2026-29057 ; la CVE fournit le contournement de cadrage de requête qui atteint la route backend divulguée.

    Les noms de routes sont des fixtures de laboratoire, pas des chemins récupérés d'une victime réelle. Le correctif officiel de Vercel a ajouté un test de régression qui définit /rewrites/:path*, utilise /rewrites/poc comme porteur, et crée /secret sur le backend de test. Ce laboratoire donne au porteur un nom à consonance produit tout en préservant cette structure de test.

    Ordre de parcours du code

    1. docker-compose.yml — versions vulnérable versus corrigée.
    2. pocs/cve-2026-29057/next.config.js — frontière de réécriture externe.
    3. pocs/cve-2026-29057/support/server.js — analyseurs intermédiaire et backend.
    4. scripts/run-cve-2026-29057.mjs — charge utile chunked brute et vérificateur de résultat.
    5. pocs/cve-2026-29057/app/api/ — points de terminaison de réinitialisation et de lecture des preuves.

    Arrêter le laboratoire

    root@kitploit:~
    docker compose down
    

    Sources

    • Avis de sécurité GitHub GHSA-ggv3-7p47-pfv8
    • Commit du correctif Next.js
    • Fiche NVD
    Télécharger l’outil