Une vulnérabilité récemment révélée dans le Framework React Next.js s'est vu attribuer un score CVSS de 9.1, le marquant comme un risque critique de sécurité. Suivi comme CVE-2025-29927, la faille peut être exploitée dans des conditions spécifiques pour contourner les contrôles d'autorisation basés sur le middleware, permettant potentiellement un accès non autorisé à des ressources privilégiées.
Le problème vient de la façon dont Next.js gère le x-middleware-subrequest
entête, qui est utilisé en interne pour éviter les boucles de requêtes infinies. Si manipulé, cet en-tête peut être utilisé pour ignorer l'exécution du middleware, permettre aux attaquants de contourner les contrôles d'autorisation basés sur les cookies avant d'atteindre les routes sensibles.
Le chercheur en sécurité Rachid Allam (également connu sous le nom zhero et essai à froid), qui a découvert la faille, a publié des détails techniques, il est donc crucial pour les développeurs d'agir rapidement.
Correctif pour CVE-2025-29927 disponible pour plusieurs versions
L'équipe Next.js a corrigé la vulnérabilité dans les versions suivantes:
- 12.3.5
- 13.5.9
- 14.2.25
- 15.2.3
Il est conseillé aux utilisateurs qui ne peuvent pas mettre à jour immédiatement de bloquer toute demande externe contenant le x-middleware-subrequest
l'en-tête d'atteindre leurs applications pour réduire l'exposition.
Risque lié à l'autorisation uniquement pour les intergiciels
Selon JFrog, toute application s'appuyant uniquement sur un middleware pour l'autorisation des utilisateurs sans mesures de sécurité en couches est vulnérable. Les attaquants peuvent exploiter cette faille pour accéder aux pages réservées aux administrateurs ou aux utilisateurs disposant de privilèges élevés, ce qui en fait un problème sérieux pour les applications Web gérant des données sensibles..
À la lumière de la divulgation détaillée et de l’intérêt actif pour cette vulnérabilité, les développeurs sont invités à appliquer les derniers correctifs ou à adopter des stratégies d'atténuation dès que possible.