veilletech.fr
29 août Feed du jour
#01 SÉCURITÉ Faille

Next.js : RCE sous Windows et via les AVIF

Sur Windows, il n'y a pas de plan B : il y a une version.

Vercel a publié le 25 août deux avis critiques pour Next.js, tous deux en exécution de code à distance non authentifiée : GHSA-p293-qw3h-jr36 (CVSS 9.0) sur les serveurs Windows, sans contournement connu, et GHSA-2xp9-vwfh-vxw4 (CVSS 9.5) sur l'API d'optimisation d'images quand un AVIF est traité. Les correctifs sont dans 15.5.24 et 16.3.3.

2 min de lecturevidéo 1:16
Partager
Sommaire4 sections
  1. Ce qui se passe
  2. Pourquoi ça compte
  3. Ce qu'il faut faire
  4. À retenir

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

Terminal
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 16

Deux vérifications utiles avant de refermer le sujet :

Source : heise Developer, Zwei kritische Lücken in Next.js (en allemand) · avis d'origine : GHSA-p293-qw3h-jr36 et GHSA-2xp9-vwfh-vxw4