Le framework JavaScript Next.js a publié, le 14 octobre 2026, une mise à jour de sécurité hors cycle pour corriger trois vulnérabilités affectant certaines applications Web. Deux failles critiques permettent potentiellement une exécution de code à distance (RCE) sans authentification, tandis qu’une troisième vulnérabilité, de gravité élevée, peut provoquer un déni de service.
Les problèmes concernent plusieurs composants de l’écosystème Next.js : le mécanisme de mise en cache use cache, le traitement des images SVG par l’intermédiaire de la bibliothèque sharp et les Server Actions de l’App Router.
Les versions correctives annoncées sont Next.js 16.4.1 et 15.5.28. Les développeurs et les équipes responsables de la sécurité des applications doivent vérifier leurs installations, appliquer les mises à jour adaptées et redéployer les services concernés.
L’annonce officielle est disponible sur le blog de sécurité de Next.js.
Trois vulnérabilités corrigées dans une mise à jour hors cycle
Une mise à jour hors cycle est publiée en dehors du calendrier habituel lorsqu’un problème de sécurité nécessite une intervention spécifique. Dans le cas présent, Next.js a corrigé deux vulnérabilités critiques d’exécution de code à distance et une faille de déni de service de niveau élevé.
Voici les principales informations à retenir.
| Vulnérabilité | Gravité | Composant concerné |
|---|---|---|
| GHSA-673q-mjm6-r5xr | Critique, CVSS 9,5 | Fonctions use cache et Cache Components |
| CVE-2026-96889 / GHSA-2464-fhr4-w9xw | Critique, CVSS 9,5 | Traitement des images SVG via sharp |
| GHSA-p3m5-59mp-jv5r | Élevée | Server Actions de l’App Router |
Les deux failles critiques peuvent, dans les conditions décrites par les avis de sécurité, permettre à un attaquant distant non authentifié d’exécuter du code sur le serveur. La troisième peut rendre un processus serveur indisponible en consommant excessivement ses ressources processeur.
Il est important de préciser que les conditions d’exploitation diffèrent selon la vulnérabilité. Toutes les applications Next.js ne sont donc pas nécessairement exposées de la même manière.
Première faille critique : un risque d’exécution de code dans use cache
La première vulnérabilité concerne les applications Next.js 16 utilisant l’App Router avec les Cache Components activés.
Le problème se manifeste dans certaines fonctions use cache qui renvoient plusieurs tableaux typés, ou typed arrays. Une interaction particulière entre les données transportées et une valeur contrôlée par un attaquant peut provoquer une exécution de code à distance.
La vulnérabilité est référencée sous l’identifiant GHSA-673q-mjm6-r5xr et reçoit un score CVSS de 9,5, correspondant à une gravité critique.
Quelles applications sont concernées ?
Selon l’avis officiel, les versions Next.js 16.0.0 à 16.4.0 sont concernées lorsque l’application utilise les Cache Components et présente les conditions techniques nécessaires à l’exploitation.
Cette vulnérabilité est liée à un problème en amont dans React Server Components. Elle ne doit pas être confondue avec une faille touchant indistinctement toutes les applications React ou toutes les installations Next.js.
Les équipes de développement doivent néanmoins appliquer le correctif même si elles ne pensent pas utiliser directement une fonction présentant cette configuration. Next.js recommande une mise à niveau immédiate, et aucun contournement connu n’est indiqué pour les applications affectées.
Le détail technique est disponible dans l’avis de sécurité GHSA-673q-mjm6-r5xr sur GitHub.
Deuxième faille critique : le traitement des images SVG peut conduire à une exécution de code
La deuxième vulnérabilité, identifiée sous le numéro CVE-2026-96889, concerne le traitement des images SVG par l’API d’optimisation d’images de Next.js.
Le problème provient d’une bibliothèque en amont, librsvg, utilisée pour le traitement des SVG par l’intermédiaire de sharp. Dans certaines conditions, un défaut lié à la mémoire peut conduire à une exécution de code à distance lorsque l’application fonctionne sous Linux avec la bibliothèque système glibc.
La vulnérabilité reçoit elle aussi un score CVSS de 9,5 dans l’avis de Next.js.
Pourquoi le traitement des SVG présente-t-il un risque ?
Le format SVG permet de représenter des images à l’aide de descriptions vectorielles. Ces fichiers peuvent provenir de sources externes ou être fournis par des utilisateurs. Leur traitement implique donc des bibliothèques capables d’analyser des contenus potentiellement non fiables.
Lorsqu’une application transmet un SVG contrôlé par un attaquant à un composant vulnérable, un défaut dans la bibliothèque de traitement peut être exploité dans les conditions appropriées.
Toutes les applications Next.js ne sont toutefois pas automatiquement exposées. Le risque dépend notamment du chemin de traitement utilisé, de la configuration de l’application et de l’environnement d’exécution. Par défaut, Next.js n’optimise pas les fichiers SVG de la même manière que les autres images : certaines configurations, comme l’activation de dangerouslyAllowSVG, peuvent modifier l’exposition. La fonctionnalité next/og peut également être concernée selon le mode d’exécution utilisé.
Quels correctifs appliquer ?
La mise à niveau vers Next.js 16.4.1 ou 15.5.28 permet de bénéficier des corrections annoncées. La version corrigée de sharp doit également être vérifiée, car la vulnérabilité se situe dans une dépendance utilisée pour le traitement des images.
L’avis officiel recommande une version de sharp égale ou supérieure à 0.35.5 comme mesure corrective pour ce problème. Une installation existante de Next.js 15 peut cependant conserver une ancienne version de sharp selon la résolution des dépendances. Il est donc nécessaire de contrôler la version réellement installée plutôt que de se fier uniquement au numéro de Next.js.
Les détails sont publiés dans l’avis de sécurité officiel concernant CVE-2026-96889.
Troisième vulnérabilité : les Server Actions exposées à un déni de service
La troisième faille, référencée GHSA-p3m5-59mp-jv5r, concerne les applications utilisant l’App Router avec au moins une Server Action.
Des requêtes spécialement conçues peuvent entraîner une consommation excessive du processeur. Le processus serveur devient alors incapable de traiter correctement les autres requêtes, ce qui peut provoquer un déni de service.
Cette vulnérabilité est classée de gravité élevée. Contrairement aux deux premières, elle ne correspond pas à une exécution de code à distance : le risque principal est la perte de disponibilité de l’application.
Quelles applications sont affectées ?
Les versions concernées comprennent les branches Next.js 13 à 15 jusqu’à 15.5.27, ainsi que les versions 16.0.0 à 16.4.0, sous réserve de l’utilisation de l’App Router et d’au moins une Server Action.
Les applications utilisant uniquement le Pages Router ou ne comportant aucune Server Action ne sont pas affectées par cette vulnérabilité particulière, selon l’avis de Next.js.
La correction est intégrée dans les versions 15.5.28 et 16.4.1. Les équipes doivent examiner l’architecture de leurs applications, mais ne devraient pas retarder la mise à jour lorsqu’elles utilisent une version vulnérable.
La référence technique est consultable dans l’avis GHSA-p3m5-59mp-jv5r.
Comment savoir si une application Next.js est concernée ?
Les développeurs doivent commencer par identifier la version exacte de Next.js utilisée dans chaque application, puis vérifier les dépendances installées et les fonctionnalités activées.
Les contrôles prioritaires comprennent :
- la version de Next.js et la branche de maintenance utilisée ;
- l’utilisation de l’App Router, des Cache Components et de
use cache; - la présence de Server Actions ;
- la version de
sharpeffectivement installée ; - la configuration du traitement des SVG et des images fournies par des utilisateurs ;
- l’environnement d’exécution, notamment les déploiements Linux utilisant glibc.
La présence d’une fonctionnalité particulière permet de mieux évaluer l’exposition à une faille, mais elle ne remplace pas l’application du correctif recommandé.
Il faut également garder à l’esprit qu’un scanner de dépendances peut ne pas signaler immédiatement toutes les vulnérabilités, notamment lorsqu’un avis ne dispose pas encore d’un identifiant CVE ou n’est pas présent dans toutes les bases utilisées par les outils d’audit.
Les mesures recommandées pour sécuriser les applications
Face à ces vulnérabilités, la priorité est de mettre à niveau les dépendances concernées, de reconstruire l’application et de redéployer les versions corrigées.
1. Mettre à jour Next.js
Les versions correctives annoncées sont :
- Next.js 15 : 15.5.28 ;
- Next.js 16 : 16.4.1.
La documentation officielle propose les commandes suivantes pour les branches correspondantes :
npm install next@15.5.28
Ou, pour la branche 16 :
npm install next@16.4.1
Ces commandes doivent être adaptées au gestionnaire de paquets et à la stratégie de dépendances du projet. Après la mise à jour, il faut vérifier le fichier de verrouillage des dépendances, exécuter les tests appropriés, reconstruire l’application et redéployer le service.
2. Vérifier la version de sharp
Après la mise à niveau, contrôlez la version de sharp effectivement résolue par le projet :
npm ls sharp
Si la version installée est antérieure à 0.35.5, il faut mettre à niveau cette dépendance conformément aux recommandations de son mainteneur et vérifier que la version corrigée est bien utilisée lors de la construction et de l’exécution de l’application.
Cette vérification est particulièrement importante pour les projets Next.js 15, car la mise à jour du framework ne garantit pas dans toutes les installations existantes que la dépendance corrigée remplacera automatiquement une version plus ancienne.
3. Examiner les fonctions de cache et les Server Actions
Les équipes doivent recenser les applications utilisant les Cache Components, les fonctions use cache et les Server Actions. Cette analyse permet d’identifier les composants potentiellement concernés et de prioriser les tests après correction.
Toutefois, l’absence apparente d’une fonction correspondant aux conditions d’exploitation ne doit pas être utilisée comme justification pour conserver une version vulnérable.
4. Limiter l’exposition des images non fiables
Les applications qui acceptent des fichiers SVG ou traitent des images fournies par des utilisateurs doivent revoir leurs chemins de traitement et leurs paramètres de configuration.
À court terme, il convient d’éviter d’exposer inutilement des fonctions de traitement de fichiers non fiables et de vérifier les possibilités de désactivation temporaire du chemin SVG vulnérable si la mise à jour ne peut pas être effectuée immédiatement.
Pour la faille liée à use cache et celle touchant les Server Actions, Next.js ne documente pas de contournement connu équivalent à la correction complète. La mise à jour reste donc la mesure essentielle.
5. Vérifier les journaux et les éventuels signes d’exploitation
Les informations publiées au moment de l’annonce ne rapportent pas d’exploitation publique confirmée des trois vulnérabilités corrigées le 14 octobre 2026. Cette absence de signalement ne garantit toutefois pas qu’aucune tentative n’a eu lieu.
Les organisations exploitant des applications sensibles doivent examiner les journaux serveur, les anomalies de consommation CPU, les erreurs inhabituelles et les événements de sécurité disponibles. En cas de signe de compromission, la mise à jour doit s’accompagner d’une investigation adaptée.
Conclusion : appliquer les correctifs Next.js sans attendre
La mise à jour hors cycle du 14 octobre 2026 corrige trois problèmes de sécurité qui touchent des composants essentiels de l’écosystème Next.js : le cache, le traitement des images SVG et les Server Actions.
Les deux vulnérabilités critiques peuvent permettre une exécution de code à distance dans certaines conditions, tandis que la troisième peut rendre une application indisponible par une consommation excessive du processeur.
Les développeurs et les administrateurs doivent mettre à jour Next.js vers 15.5.28 ou 16.4.1, vérifier la version de sharp, reconstruire leurs applications et redéployer les services corrigés. Il est également nécessaire de contrôler les configurations et de rechercher d’éventuels signes d’exploitation.
Dans un environnement où les dépendances open source constituent une partie importante des applications Web, une gestion rigoureuse des correctifs et une surveillance continue restent indispensables pour réduire les risques.
Sources :
- Next.js — annonce officielle de la mise à jour de sécurité du 14 octobre 2026
- GitHub — faille critique dans les fonctions
use cache - GitHub — exécution de code à distance via le traitement des SVG
- GitHub — déni de service dans les Server Actions
- The Hacker News — analyse des vulnérabilités et des correctifs


