Next.js a publié le 25 août 2026 les versions 16.3.3 et 15.5.24, avançant d’une journée un correctif de sécurité initialement prévu le 26. La raison de cette accélération : une seconde faille critique, découverte pendant la préparation de la mise à jour, a été traitée dans la même livraison. Les deux vulnérabilités permettent une exécution de code à distance sans authentification, et aucun contournement ne remplace durablement la montée de version.
Deux exécutions de code à distance, sans authentification
L’avis publié sur le dépôt officiel décrit deux failles distinctes, toutes deux classées critiques :
- RCE sur les serveurs hébergés sous Windows (
GHSA-p293-qw3h-jr36) : une manipulation de chemin permet, sur un système de fichiers Windows, d’exécuter du code sur le serveur sans s’authentifier. - RCE via l’API d’optimisation d’images (
GHSA-2xp9-vwfh-vxw4) : un fichier AVIF forgé, traité par la chaîne d’optimisation d’images, conduit à l’exécution de code. Le défaut provient de la bibliothèque de décodage utilisée en aval.
Le point commun est ce qui rend l’affaire sérieuse : dans les deux cas, l’attaque ne requiert ni compte ni session valide. Une application exposée et non corrigée est atteignable directement.
Deux failles critiques, aucune authentification requise : sur une application Next.js exposée, la fenêtre entre la publication de l’avis et l’exploitation se compte en heures.
Qui est concerné
Toutes les versions antérieures aux correctifs sont vulnérables : la branche 15 en deçà de 15.5.24, la branche 16 en deçà de 16.3.3. La faille liée à l’optimisation AVIF remonte à des versions nettement plus anciennes que celle des serveurs Windows ; concrètement, une base qui n’a pas été mise à jour récemment cumule les deux expositions.
| Faille | Nature | Surface exposée | Corrigée dans |
|---|---|---|---|
GHSA-p293-qw3h-jr36 | RCE non authentifiée | Serveurs hébergés sous Windows | 16.3.3 · 15.5.24 |
GHSA-2xp9-vwfh-vxw4 | RCE non authentifiée | API d’optimisation d’images (AVIF) | 16.3.3 · 15.5.24 |
Corriger : mettre à jour d’abord
La seule réponse complète est la montée de version. Les deux failles étant corrigées dans la même livraison, une seule mise à jour suffit pour fermer les deux portes.
# branche 16 (Active LTS)
npm install [email protected]
# branche 15 (Maintenance LTS)
npm install [email protected]
# équivalents pnpm / yarn
pnpm add [email protected]
yarn add [email protected]
Si la mise à jour ne peut pas être immédiate. Pour la faille AVIF uniquement, retirer l’AVIF des formats servis par l’optimiseur d’images réduit la surface d’attaque le temps de patcher. C’est une atténuation partielle, pas un correctif : elle ne couvre pas la faille Windows.
// next.config.js — atténuation temporaire de la faille AVIF
module.exports = {
images: { formats: ['image/webp'] }, // ne plus servir d'AVIF optimisé
};
Ce qu’il faut retenir
Deux exécutions de code à distance non authentifiées corrigées d’un coup, sur les deux branches maintenues de Next.js : la priorité de la journée est de vérifier la version en production et de passer à 16.3.3 ou 15.5.24. Le contournement AVIF dépanne, mais ne dispense pas de patcher, et il laisse la faille Windows ouverte.
Sur les projets que j’héberge, ce genre d’avis déclenche une routine simple que je recommande à tout le monde : une commande npm ls next pour connaître la version réelle en production, puis la mise à jour dans la foulée, tests de non-régression compris. Deux RCE sans authentification, c’est exactement le profil qu’un scanner automatisé exploite en masse dans les heures qui suivent la divulgation — attendre la prochaine fenêtre de déploiement n’est pas une option ici. — Simon Janvier
Pour aller plus loin : l’annonce de sécurité officielle de Next.js et les avis détaillés publiés sur le dépôt vercel/next.js.
