Failles Next.js en 2026, la RCE AVIF et la version à installer
CentralCSP Team ·
Dernière mise à jour:
Le 25 août 2026, Vercel a publié Next.js 16.3.3 et 15.5.24 pour corriger deux failles critiques d'exécution de code à distance (RCE) sans authentification : l'une dans l'API d'optimisation d'images lorsqu'elle traite des fichiers AVIF, l'autre sur les serveurs hébergés sous Windows. Cinq semaines plus tard, le 30 septembre, 16.3.8 et 15.5.27 ont corrigé sept avis de plus. Si vous hébergez Next.js vous-même, la version à installer aujourd'hui est 16.3.8 ou 15.5.27, pas celle d'août.
Cet article couvre les deux RCE, qui est exposé, la version à installer par branche, et chaque correctif de sécurité Next.js de 2026, en commençant par React2Shell (décembre 2025), qui alimente encore la plupart des recherches « quelle version de Next.js est vulnérable ».
Faille Next.js 2026, la RCE sur les images AVIF
L'avis est GHSA-2xp9-vwfh-vxw4, intitulé « Unauthenticated Remote Code Execution in Image Optimization API when AVIF files are used ». Il est classé critique, CVSS 9.5 (CVSS 4.0), et n'avait pas d'identifiant CVE au moment de l'écriture.
La faille n'est pas dans le code de Next.js. Next.js optimise les images avec sharp, sharp décode l'AVIF via la bibliothèque libheif, et libheif contient un bug de corruption mémoire suivi en amont sous GHSA-g89c-p67h-r497. Quand Next.js optimise une image AVIF contrôlée par un attaquant, ce bug peut mener à l'exécution de code sur le serveur.
- Versions touchées : Next.js 10.0.0 à 15.5.23, et 16.x avant 16.3.3.
- Corrigé dans : 15.5.24 et 16.3.3. Le correctif désactive l'optimisation AVIF jusqu'à ce qu'une version corrigée de libheif arrive dans sharp : les images AVIF sont servies telles quelles, sans redimensionnement.
- Exposés : les applications auto-hébergées qui activent l'AVIF. Next.js n'optimise en AVIF que si
image/aviffigure dansimages.formatsdansnext.config.js; la valeur par défaut est['image/webp']. Selon Vercel, les applications hébergées sur Vercel sont protégées et n'ont rien à faire.
La même version corrige CVE-2026-75604, une seconde RCE critique (CVSS 9.0). Il s'agit d'une traversée de chemin dans le cache incrémental, exploitable uniquement sur un serveur dont le système de fichiers est Windows, dans les applications qui utilisent à la fois le Pages Router et l'App Router sans Cache Components. Elle touche les versions 13.4 et suivantes avant 15.5.24, et 16.0 avant 16.3.3. Linux et macOS ne sont pas concernés, et Vercel n'indique aucun contournement. Une preuve de concept publique a été publiée sur GitHub.
Quelle version de Next.js installer maintenant
Passez à la version de septembre, qui inclut les correctifs d'août et sept de plus :
npm install next@16.3.8 # Active LTS
npm install next@15.5.27 # Maintenance LTS| Branche | Version minimale pour les RCE AVIF et Windows | Version à installer aujourd'hui |
|---|---|---|
| 16.x | 16.3.3 | 16.3.8 |
| 15.x | 15.5.24 | 15.5.27 |
| 14.x et antérieures | Aucune version corrigée | Passer à 15.5.27 ou 16.3.8 |
Vercel publie les correctifs de sécurité pour les branches Active LTS (16.3) et Maintenance LTS (15.5). Si vous êtes en 15.0 à 15.4 ou en 16.0 à 16.2, montez à la version corrigée de votre version majeure ci-dessus. Les notes de la version de mai 2026 indiquent que toutes les versions 13.x et 14.x sont touchées par les avis de cette version.
Suis-je concerné ?
Vérifiez d'abord la version, puis les conditions. Une version dans la plage touchée ne prouve pas qu'une application est exploitable ; une version hors de la plage écarte l'avis.
Pour la RCE AVIF (GHSA-2xp9-vwfh-vxw4), vous n'êtes exposé que si toutes ces conditions sont réunies :
- Vous hébergez Next.js vous-même (votre serveur, un conteneur, ou un hébergeur autre que Vercel).
images.formatsdansnext.config.jscontientimage/avif.- Votre version est comprise entre 10.0.0 et 15.5.23, ou est une 16.x antérieure à 16.3.3.
Pour CVE-2026-75604, vous n'êtes exposé que si toutes ces conditions sont réunies :
- Le serveur Next.js tourne sous Windows.
- L'application utilise à la fois le Pages Router et l'App Router, sans Cache Components.
- Votre version est 13.4 ou ultérieure et antérieure à 15.5.24, ou une 16.x antérieure à 16.3.3.
Si vous ne pouvez pas mettre à jour aujourd'hui, retirez image/avif de images.formats pour arrêter l'optimisation AVIF. Cela ne ferme que la voie AVIF. Il n'existe aucun contournement pour la faille Windows.
// next.config.js
module.exports = {
images: {
formats: ['image/webp'], // était ['image/avif', 'image/webp']
},
}Tous les correctifs de sécurité Next.js de 2026
Next.js est passé en juillet 2026 à des versions de sécurité annoncées à l'avance : les correctifs arrivent désormais par lots, à des dates prévues. Les versions corrigées ci-dessous sont celles publiées par Vercel pour chaque lot.
| Date | Avis | Sévérité maximale | Impact | Corrigé dans |
|---|---|---|---|---|
| 3 déc. 2025 | CVE-2025-66478 (React CVE-2025-55182, « React2Shell ») | Critique, CVSS 10.0 | RCE sans authentification via le protocole React Server Components, App Router uniquement. Exploitée dans la nature, ajoutée au catalogue Known Exploited Vulnerabilities de la CISA le 5 décembre 2025 | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 |
| 16 mars 2026 | CVE-2026-27980 | Modérée, CVSS 6.9 | Le cache disque de /_next/image n'avait aucune limite de taille : des requêtes pour de nombreuses variantes d'images pouvaient remplir le disque (déni de service), surtout sur les applications auto-hébergées | 15.5.14, 16.1.7 |
| 7 mai 2026 | 13 avis, dont CVE-2026-23870 (React) | Élevée | Contournements d'autorisation et de middleware, SSRF via les upgrades WebSocket, déni de service dans React Server Components, empoisonnement de cache, XSS | 15.5.18, 16.2.6 |
| 20 juil. 2026 | 9 avis, dont CVE-2026-64641, CVE-2026-64642, CVE-2026-64645, CVE-2026-64649 | Élevée | Déni de service sur les Server Actions, contournement de middleware avec Turbopack et une seule locale, SSRF via les rewrites et les Server Actions | 15.5.21, 16.2.11 |
| 25 août 2026 | GHSA-2xp9-vwfh-vxw4 et CVE-2026-75604 | Critique | RCE sans authentification via l'optimisation AVIF, et sur les serveurs hébergés sous Windows | 15.5.24, 16.3.3 |
| 30 sept. 2026 | 7 avis, dont CVE-2026-94483 | Élevée | SSRF dans l'optimisation d'images quand images.remotePatterns est configuré, empoisonnement du cache SSG et ISR, divulgation d'informations | 15.5.27, 16.3.8 |
Deux constats se dégagent. Trois des lots de 2026 (mars, août et septembre) touchent l'API d'optimisation d'images (/_next/image), la partie de Next.js qui traite par nature des entrées non fiables. Et l'auto-hébergement concentre l'essentiel de l'exposition : plusieurs avis précisent que les déploiements sur Vercel ne sont pas concernés.
Comment savoir quelle version de Next.js un site utilise
Sur votre propre projet, la réponse est dans package.json et le lockfile : npm ls next affiche la version installée.
Depuis l'extérieur, collez l'URL dans l'analyseur de technologies gratuit. Il liste les technologies utilisées par la page, Next.js compris quand il peut le lire, avec la version, l'état de cette version (obsolète ou en fin de vie) et les CVE connues qui la touchent, chacune avec la version qui la corrige. L'analyseur lit la page, pas la configuration de votre serveur : il ne voit ni images.formats, ni votre hébergeur, ni le routeur utilisé. Vérifiez la version avec lui, puis les conditions ci-dessus.
Le même contrôle couvre le reste de la page, car la plupart des CVE qu'un site porte viennent des bibliothèques chargées à côté du framework. Pour la méthode qui permet de les trouver, lisez Comment détecter les bibliothèques JavaScript vulnérables sur un site en production ; pour les façons manuelles et outillées de lire la pile d'un site, Quelle technologie utilise ce site, et est-elle encore à jour.
Être prévenu quand le prochain avis tombe
Un contrôle ponctuel répond pour une page, un jour donné, et Next.js a déjà publié cinq lots de sécurité en 2026. CentralCSP inventorie les scripts que les navigateurs de vos visiteurs exécutent sur chaque page, identifie la bibliothèque et la version derrière chacun, et vous alerte quand une nouvelle CVE touche une version que vous servez. L'inventaire est décrit dans Technologies, et la page supply chain en fait la visite.
Corriger le framework n'est que la moitié du travail sur un site Next.js. L'autre moitié consiste à limiter ce qu'un script injecté pourrait faire s'il passait, ce que gère une Content Security Policy (CSP) stricte : voir Mettre en place un nonce CSP dans Next.js et Google Tag Manager sous une CSP stricte dans Next.js. Commencez gratuitement avec CentralCSP pour voir les versions que vos pages servent.
FAQ
Ma version de Next.js est-elle vulnérable ?
Si vous utilisez une version antérieure à 16.3.8 ou 15.5.27, au moins un avis de 2026 s'y applique. Son exploitabilité dépend des conditions de l'avis : la RCE AVIF suppose l'auto-hébergement et image/avif dans images.formats, et CVE-2026-75604 suppose un serveur Windows. Passer à 16.3.8 ou 15.5.27 couvre tous les avis listés dans cet article.
La faille AVIF touche-t-elle les applications hébergées sur Vercel ?
Non. Vercel indique que les applications hébergées sur sa plateforme sont protégées et ne demandent ni mise à jour, ni changement de configuration, ni redéploiement. Les applications auto-hébergées qui activent l'AVIF dans images.formats sont celles qui sont exposées.
GHSA-2xp9-vwfh-vxw4 a-t-il un identifiant CVE ?
Pas au moment de l'écriture. L'avis Next.js ne mentionne aucune CVE, et la cause est suivie en amont dans libheif sous GHSA-g89c-p67h-r497. Cherchez l'identifiant GHSA pour trouver les correctifs ou les résultats de scanners.
Qu'était React2Shell ?
React2Shell est le nom donné à CVE-2025-55182, une faille CVSS 10.0 du protocole React Server Components divulguée le 3 décembre 2025 et suivie dans Next.js sous CVE-2025-66478. Elle permettait une RCE sans authentification dans les applications App Router en Next.js 15.x et 16.x, a été exploitée dans la nature en quelques jours, et est corrigée dans les versions listées dans la chronologie. L'outil npx fix-react2shell-next de Vercel met à jour les projets concernés.
Next.js 14 est-il encore maintenu ?
Vercel publie les correctifs de sécurité pour les branches 16.3 et 15.5. Les notes de la version de mai 2026 indiquent que toutes les versions 13.x et 14.x sont touchées par les avis de cette version : une application en 14.x doit passer à 15.5.27 ou 16.3.8.
Articles liés
- Comment détecter les bibliothèques JavaScript vulnérables sur un site en production
- Quelle technologie utilise ce site, et est-elle encore à jour
- Mettre en place un nonce CSP dans Next.js
- Google Tag Manager sous une CSP stricte dans Next.js
Sources
- Next.js, August 2026 Security Release
- GitHub, GHSA-2xp9-vwfh-vxw4, RCE dans l'API d'optimisation d'images avec AVIF
- GitHub, GHSA-p293-qw3h-jr36, CVE-2026-75604
- libheif, GHSA-g89c-p67h-r497
- Vercel changelog, Next.js August 2026 security release
- Next.js, September 2026 Security Release
- Next.js, July 2026 Security Release
- Vercel changelog, Next.js May 2026 security release
- GitHub Advisory Database, CVE-2026-27980
- Next.js, Security Advisory CVE-2025-66478
- Rapid7, React2Shell CVE-2025-55182
- Documentation Next.js, formats du composant Image
- The Hacker News, Next.js corrige des failles critiques AVIF et Windows