Une vulnérabilité récemment identifiée, CVE-2025-29927, affecte le framework Next.js, un choix populaire pour la création d’applications web basées sur React. Cette faille de sécurité critique, à laquelle a été attribué un score CVSS de 9.1, permet aux attaquants de contourner les mécanismes d’autorisation mis en place via le middleware de Next.js, leur offrant potentiellement un accès non autorisé à des ressources sensibles.
Versions concernées
Cette vulnérabilité affecte les versions suivantes de Next.js :
De la version 11.1.4 à 13.5.6
Versions 14.x antérieures à 14.2.25
Versions 15.x antérieures à 15.2.3
Cause principale
Le problème provient de la gestion de l’en-tête x-middleware-subrequest par Next.js.
Cet en-tête est utilisé en interne par Next.js pour éviter les boucles infinies de requêtes.
Les attaquants peuvent manipuler cet en-tête afin de contourner le middleware de sécurité, permettant ainsi à des requêtes d’atteindre des routes protégées sans vérification d’autorisation adéquate.
En injectant cet en-tête dans une requête malveillante, un attaquant peut exploiter la dépendance du système à l’autorisation basée sur le middleware.
Une vulnérabilité difficile à détecter
Identifier et vérifier cette vulnérabilité peut être particulièrement complexe. Pourquoi ?
Parce qu’elle n'affecte que les applications reposant uniquement sur l’autorisation via middleware. Il s’agit donc d’une configuration très spécifique mise en place par les développeurs ou les administrateurs systèmes.
De plus, si des couches de sécurité supplémentaires sont présentes, l’exploitation peut ne pas être immédiatement visible.
Pour détecter l’exploitabilité réelle de cette vulnérabilité, il est essentiel d’avoir une compréhension approfondie de l’application et de son architecture. Cela implique :
L’analyse de la configuration spécifique et de l’installation complète du framework Next.js
L’automatisation de la détection des pages protégées par le mécanisme de sécurité de Next.js
L’analyse rigoureuse des résultats obtenus
Une détection impossible avec les scanners classiques
Les scanners de sécurité classiques, les solutions EASM ou les évaluations de sécurité traditionnelles ne permettent pas d’identifier cette vulnérabilité avec précision.
Seuls un pentester ou des hunters peuvent le faire manuellement.
Patrowl est la seule solution permettant d’évaluer cette vulnérabilité à grande échelle, avec précision, et de manière continue sur tous vos actifs exposés.
Notre approche pour identifier les applications vulnérables
Nous avons suivi une approche en entonnoir :
Exclure les applications ne reposant pas sur le framework Next.js
Exclure les versions non vulnérables
Explorer en profondeur les applications restantes pour identifier les endpoints
Tester des charges malveillantes sur ces endpoints
Essayer de sauter ces étapes et envoyer des payloads aléatoires sur toutes les applications surveillées serait inefficace, trop verbeux et impraticable.