Une image AVIF piégée suffit à prendre le contrôle d'un serveur Next.js

Le 25 août 2026, Vercel a publié plusieurs nouvelles versions de Next.js : 15.5.24 et 16.3.3. L'objectif ? Patcher deux failles critiques permettant toutes les deux une exécution de code à distance sans authentification. Voici l'essentiel à savoir sur ces failles.

Une image AVIF suffit pour exploiter la faille

La première faille ne vient pas directement du code de Next.js, mais d'une dépendance. En effet, ce framework s'appuie sur le paquet sharp pour optimiser les images, et sharp délègue le décodage des fichiers AVIF à la bibliothèque C libheif. C'est là que se situe la faille de sécurité critique associée à un score CVSS de 9.5 sur 10 dans le bulletin de Next.js (et sans identifiant CVE à l'heure actuelle).

Un fichier AVIF spécialement conçu amène libheif à décoder une image comportant deux couches de transparence au lieu d'une seule, chacune avec une profondeur différente. La bibliothèque dimensionne alors sa zone mémoire d'après la première couche, puis y écrit les données de la seconde, deux fois plus volumineuses. Environ 16 Ko se retrouvent inscrits en dehors de la zone prévue, et comme vous l'aurez compris, l'attaquant a la maîtrise sur le contenu de ce débordement.

Ici, il est question de Next.js. Mais en réalité, toutes les applications qui s'appuient sur la dépendance libheif et qui appellent la fonction heif_decode_image() sont susceptibles d'être affectées. D'ailleurs, les chercheurs précisent : "Nous avons réussi à obtenir une exécution de code à distance avec cela sur plusieurs applications.", y compris sur Next.js.

Dans le cas de Next.js, il y a tout de même une bonne nouvelle : l'optimisation AVIF n'est pas activée par défaut (c'est spécifié par le paramètre formats dans next.config.js). Par contre, si elle est activée, sachez que les versions suivantes sont vulnérables : 10.0.0 à 15.5.23 et pour la branche 16.x jusqu'à 16.3.2.

CVE-2026-75604 : une faille sur les serveurs Windows

La seconde faille critique affiche un score CVSS de 9.0 sur 10 et il s'agit d'une traversée de répertoire. Elle permet elle aussi une exécution de code à distance sans authentification, mais trois conditions doivent être réunies pour que la vulnérabilité soit exploitables :

  • L'application utilise à la fois le Pages Router et l'App Router
  • Elle n'utilise pas les Cache Components
  • Le serveur s'appuie sur un système de fichiers Windows

Autrement dit, c'est une faille qui affecte les serveurs Next.js sous Windows, alors que Linux et macOS ne sont pas concernés. Les versions vulnérables vont de la 13.4 à la 15.5.23, ainsi que de la 16.0 à la 16.3.2.

Ce qu'il faut faire maintenant

Pour vous protéger, vous devez patcher. C'est d'autant plus vrai que pour la CVE-2026-75604, il n'existe pas de solutions de contournement, si ce n'est qu'il ne faut pas utiliser les composants cités.

Dans l'idéal, vous devez installer l'une de ces versions pour vous protéger de ces deux failles : 15.5.24 ou 16.3.3. Ces deux versions sont déjà disponibles via npm. En complément, vous pouvez aussi vérifier la présence de image/avif dans le tableau formats du fichier de configuration cité précédemment.

Enfin, sachez que pour les applications hébergées sur Vercel, vous n'avez rien à faire. L'optimisation AVIF a été désactivée dès l'identification de la faille et l'environnement tourne sous Linux, donc cela met de côté la seconde faille.

Pour approfondir le sujet, voici des liens utiles :

Ajouter IT-Connect à mes
sources préférées

author avatar

Cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Mon obsession depuis près de 15 ans ? Rendre l'administration système et la cybersécurité accessibles, que vous soyez junior ou confirmé. Plus qu'un métier, l'IT est pour moi une véritable passion. J’accompagne au quotidien les sysadmins et les professionnels de l’IT dans leur montée en compétences et leur veille technique.