Retour au Grimoire
Cyber & Sécurité15 Mai 20266 min de lecture

Next.js — 13 failles corrigées en mai 2026 : ce que tu dois savoir et faire

Next.js vient de publier un patch de sécurité majeur en mai 2026 : 13 vulnérabilités corrigées, dont des bypasses d'autorisation, du SSRF et du cache poisoning. Voici ce qui a été patché, pourquoi c'est sérieux, et comment vérifier que ton app est clean.

Next.jssécuritéCVEmiddlewareSSRFaudit sécuritéReactfullstack
Next.js — 13 failles corrigées en mai 2026 : ce que tu dois savoir et faire

13 vulnérabilités. Un patch publié discrètement un mardi. Et des milliers d'apps Next.js en production qui tournent encore sur des versions exposées. La bonne nouvelle : corriger prend 10 minutes. Encore faut-il savoir qu'on est concerné.

Dashboard Next.js — terminal avec npm update

Ce qui s'est passé#

Le 13 mai 2026, Vercel a publié une mise à jour de sécurité pour Next.js couvrant 13 vulnérabilités réparties sur les versions 15.x et 16.x. Les deux versions cibles sont :

  • 15.5.18
  • 16.2.6

Si ton app tourne sur une version antérieure à l'une de ces deux releases, elle est potentiellement exposée.

Le changelog officiel est disponible ici → vercel.com/changelog/next-js-may-2026-security-release

Ce n'est pas un patch de routine. Plusieurs failles classées High ont été corrigées, ce qui signifie qu'elles sont exploitables sans conditions particulièrement complexes. Aucune exploitation active connue au moment de la publication — mais avec un projet open source aussi suivi, les PoC (preuves de concept) émergent souvent dans les jours qui suivent un patch.

Les familles de vulnérabilités corrigées#

Bypass d'autorisation via le middleware (App Router)#

C'est la faille qui attire le plus l'attention. Le middleware Next.js, utilisé pour protéger des routes (authentification, rôles, redirections), pouvait dans certaines configurations être contourné.

Concrètement : un utilisateur non authentifié pouvait accéder à des routes que le middleware était censé bloquer. Si tu utilises le middleware pour garder des espaces membres, des dashboards admin, ou des API privées — c'est directement dans le scope.

Ce n'est pas une nouveauté dans l'écosystème Next.js. Une faille similaire (CVE-2025-29927) avait déjà agité la communauté début 2025, permettant de bypasser le middleware via une manipulation du header x-middleware-subrequest. L'histoire se répète, les patterns aussi.

Signal d'alerte : si ton middleware ressemble à ça et que tu n'as pas patché —

// middleware.ts
export function middleware(request: NextRequest) {
  const token = request.cookies.get("token");
  if (!token) return NextResponse.redirect(new URL("/login", request.url));
}

Il ne faut jamais supposer que le middleware est la seule ligne de défense. La vérification d'auth doit aussi exister côté serveur (dans les Server Components, les Route Handlers ou l'ORM).

SSRF — Server-Side Request Forgery#

Le SSRF permet à un attaquant de forcer le serveur à effectuer des requêtes HTTP vers des ressources internes — metadata AWS (169.254.169.254), services internes non exposés publiquement, autres microservices du réseau.

Sur une app Next.js déployée sur Vercel ou sur un VPS, une faille SSRF bien exploitée peut donner accès aux variables d'environnement de la machine, aux tokens de service, ou permettre de pivoter vers d'autres services.

C'est une faille classée dans l'OWASP Top 10 depuis 2021 (A10:2021), et elle est particulièrement redoutable sur les architectures headless ou les apps qui agrègent des données depuis plusieurs sources externes.

Cache Poisoning#

Le cache poisoning consiste à injecter une réponse malveillante dans le cache d'une app, de sorte que tous les utilisateurs suivants reçoivent le contenu empoisonné. Sur une app Next.js avec ISR (Incremental Static Regeneration) ou une logique de cache custom, une réponse malveillante peut persister et être servie à grande échelle.

Le risque concret : modification de contenu affiché (défacement fonctionnel), injection de liens malveillants dans des pages statiques, ou dégradation ciblée d'une page de conversion.

XSS et déni de service#

Deux familles plus classiques mais toujours présentes :

  • Des XSS (Cross-Site Scripting) permettant d'injecter du JavaScript dans des pages rendues côté serveur dans des configurations spécifiques.
  • Des vecteurs de déni de service applicatif, exploitables sans authentification pour saturer des endpoints.

Suis-je concerné ? — Checklist rapide#

# Vérifie ta version installée
cat package.json | grep next
# ou
npx next --version
Package Versions affectées À mettre à jour vers
Next.js 13.x, 14.x Toutes les versions 15.5.18 ou 16.2.6
Next.js 15.x ≤ 15.5.17 15.5.18
Next.js 16.x ≤ 16.2.5 16.2.6
react-server-dom-* 19.0.x ≤ 19.0.5 19.0.6
react-server-dom-* 19.1.x ≤ 19.1.6 19.1.7
react-server-dom-* 19.2.x ≤ 19.2.5 19.2.6

Versions corrigées#

Next.js : 15.5.18, 16.2.6

React : 19.0.6, 19.1.7, 19.2.6 pour les packages react-server-dom-parcel, react-server-dom-webpack et react-server-dom-turbopack

Les frameworks et bundlers utilisant les packages react-server-dom-* doivent installer les dernières versions fournies par leurs mainteneurs respectifs.

La mise à jour en pratique#

Next.js#

Pour la branche 15#

npm install [email protected]
# ou
yarn add [email protected]

Pour la branche 16#

npm install [email protected]
# ou
yarn add [email protected]

Après la mise à jour#

Ensuite :

Lance ta suite de tests — si tu en as une, c'est le moment de la faire tourner. Teste manuellement les routes protégées par middleware : déconnecte-toi et tente d'accéder directement à /dashboard, /admin, /api/protected.

Vérifie tes variables d'environnement : rien d'exposé côté client qui ne devrait pas l'être (NEXT_PUBLIC_ prefix).

Inspecte tes headers HTTP : X-Frame-Options, Content-Security-Policy, Strict-Transport-Security. Des outils comme securityheaders.com font ça en deux clics.

Ce que ce patch révèle sur l'architecture Next.js#

Ce n'est pas une critique de Next.js — c'est un framework excellent, activement maintenu, avec une équipe sécurité réactive. Mais ce patch est l'occasion de remettre à plat quelques convictions qui traînent dans les équipes :

"Le middleware gère l'auth, c'est suffisant."#

Non. Le middleware est une première ligne, pas une garantie. L'authentification doit être vérifiée au plus près de la donnée sensible : dans le Server Component, dans le Route Handler, dans la query ORM.

"On est sur Vercel, on est protégés."#

Vercel offre une infrastructure solide, mais les failles applicatives restent de ta responsabilité. L'hébergeur ne patch pas ton code.

"On n'a pas de données sensibles."#

Si tu as un espace connecté, des formulaires, des webhooks ou des appels API — tu as des données sensibles. La surface d'attaque ne se limite pas aux bases de données.

Pour aller plus loin#

Tu veux un œil expert sur ton app Next.js ?#

Je propose des audits de sécurité orientés Next.js — middleware, API routes, gestion des sessions, exposition des variables d'environnement, headers HTTP — et du renfort ponctuel si tu veux qu'on passe en revue l'existant ensemble. Pas de rapport de 80 pages incompréhensible. Un audit actionnable, avec des findings classés par priorité et des recommandations concrètes adaptées à ta stack.

🔥 Contact Moi !


PartagerXLinkedIn
Publié le 15 Mai 2026Voir tous les articles

À lire aussi