Une vulnérabilité critique de type « Authentication bypass » impactant le middleware Next.js, identifiée par la référence CVE-2025-29927, vient de voir le jour. En raison de sa criticité, elle obtient un score CVSS v3.1 de 9,1.
Il convient de porter une attention particulière à cette vulnérabilité CVE-2025-29927, car des preuves de concept sont disponibles publiquement.
Le vecteur initial de la vulnérabilité Next.js
La vulnérabilité permet à un attaquant non-authentifié de contourner les mécanismes d’autorisation de Next.js.
Les détails techniques de la vulnérabilité Next.js
La vulnérabilité concerne une fonction interne de Next.js permettant d’empêcher des boucles d’appel middleware infinies. Si l’en-tête HTTP x-middleware-subrequest
existe avec une valeur particulière (dépendante de la version Next.js), les fonctions d’autorisation du middleware sont contournées.
Les versions affectées sont les suivantes :
- >= 11.1.4, <= 13.5.6
- >= 14.0, < 14.2.25
- >= 15.0, < 15.2.3
La modélisation de l'attaque avec MITRE ATT&CK
MITRE ATT&CK
- T1190 (Exploit Public-Facing Application)
Les moyens de protections avec Stormshield Network Security face à la vulnérabilité Next.js
Protection face à la CVE-2025-29927
Les firewalls Stormshield Network Security (SNS) détectent et bloquent par défaut l’exploitation de la CVE-2025-29927 via une alarme IPS :
- http:client:header:259 : Exploitation d'une vulnérabilité sur le middleware Next.js (CVE-2025-29927)
Pour que cette alarme fonctionne efficacement, le trafic doit être déchiffré.
Indice de confiance de la protection proposée par Stormshield |
Indice de confiance de l’absence de faux positif |
Recommandations face à la vulnérabilité Next.js
La vulnérabilité étant corrigée, nous recommandons une mise à jour urgente vers les versions Next.js suivantes :
- Pour Next.js 15.x, mettre à jour en version 15.2.3 ;
- Pour Next.js 14.x, mettre à jour en version 14.2.25 ;
- Pour Next.js 13.x, mettre à jour en version 5.9 ;
- Pour Next.js 12.x, mettre à jour en version 12.3.5 ;
- Pour les autres versions de Next.js, nous recommandons de désactiver l’usage externe de l’en-tête HTTP
x-middleware-subrequest
via un reverse proxy.