Ce qui se passe
Deux avis de sécurité critiques ont été publiés le 25 août 2026 par l'équipe Next.js, et les deux mènent à l'exécution de code à distance sans authentification préalable.
| Avis | Score | Ce qui est touché | Versions vulnérables |
|---|---|---|---|
| GHSA-p293-qw3h-jr36 | 9.0 (CVSS v3) | Pages Router et App Router sans Cache Component, serveur sur système de fichiers Windows | >= 13.4 < 15.5.24 et >= 16.0 < 16.3.3 |
| GHSA-2xp9-vwfh-vxw4 | 9.5 (CVSS v4) | API d'optimisation d'images, dès qu'un fichier AVIF est optimisé | >= 10.0.0 < 15.5.24 et < 16.3.3 |
Les versions corrigées sont 15.5.24 et 16.3.3, publiées le même jour.
Pourquoi ça compte
La première faille est étroite mais sans échappatoire : l'avis indique explicitement qu'il n'existe aucun contournement connu pour une application hébergée sur Windows. Il faut monter de version, pas contourner.
La seconde ne vient pas de Next.js mais de la chaîne d'images qu'il embarque :
libheif, utilisée par sharp pour décoder les formats HEIF et AVIF. Un fichier
fabriqué déclenche un débordement de tampon dans le tas au moment du décodage
(avis amont GHSA-g89c-p67h-r497),
et l'API d'optimisation d'images de Next.js est un point d'entrée public par
construction. En attendant que le correctif de libheif se propage jusqu'aux
binaires de sharp, Next.js désactive l'optimisation des fichiers AVIF : les
images restent servies, mais sans passer par le redimensionnement.
Ce qu'il faut faire
npm ls next # version réellement installée, y compris en transitif
npm install next@15.5.24 # branche 15
npm install next@16.3.3 # branche 16Deux vérifications utiles avant de refermer le sujet :
- l'hôte de production tourne-t-il sous Windows ? Les déploiements Linux et conteneurisés ne sont pas concernés par la première faille ;
next.config.jsdéclare-t-ilimages.formatsavecimage/avif? Ce n'est pas une condition nécessaire — l'optimiseur traite aussi les AVIF fournis en entrée — mais c'est un bon indicateur du volume d'exposition.
Source : heise Developer, Zwei kritische Lücken in Next.js (en allemand) · avis d'origine : GHSA-p293-qw3h-jr36 et GHSA-2xp9-vwfh-vxw4