Une vulnérabilité critique dans Next.js pourrait permettre à des attaquants distants d’exécuter du code arbitraire sur des serveurs vulnérables à travers la fonctionnalité ImageResponse du framework. Répertoriée sous le nom de CVE-2026-94545, la faille affecte l’implémentation Node.js d’ImageResponse dans next/og et porte un score CVSS de 9,5. Vercel a résolu le problème le 22 septembre 2026 avec la sortie de Next.js 16.3.6.
La vulnérabilité devient exploitable lorsqu’une application place une entrée contrôlée par un attaquant dans le contenu, les attributs ou les styles SVG lors de la génération d’images côté serveur. Dans ces conditions, des valeurs spécialement conçues peuvent atteindre la chaîne de rendu SVG d’une manière qui pourrait finalement entraîner l’exécution de code à distance sur le serveur applicatif.
Le problème est particulièrement pertinent car ImageResponse est couramment utilisé pour générer dynamiquement des images Open Graph, des aperçus de médias sociaux et d’autres graphiques rendus côté serveur basés sur les données de l’application ou de l’utilisateur. Les applications qui incorporent des paramètres d’URL, des données d’API, des saisies de formulaire ou d’autres valeurs non fiables dans ces images doivent être examinées immédiatement.
Les équipes de sécurité à la recherche de contenu de détection pour CVE-2026-94545 peuvent utiliser la Plateforme d’Intelligence de Détection Native à l’IA de SOC Prime pour identifier les exploitations suspectes et le comportement post-compromission associé aux applications web vulnérables.
Les ingénieurs en sécurité peuvent également utiliser Uncoder AI pour transformer l’intelligence sur les vulnérabilités en logique de détection, générer des requêtes de chasse, convertir des indicateurs en recherches spécifiques aux plateformes et accélérer l’ingénierie de détection pour les vulnérabilités émergentes.
Analyse de la CVE-2026-94545
CVE-2026-94545 est une vulnérabilité d’exécution de code à distance critique affectant l’implémentation Node.js d’ImageResponse incluse dans le package next/og. L’avis de Vercel attribue à cette vulnérabilité un score CVSS v4 de 9,5, avec une exploitation sur le réseau, une faible complexité d’attaque, aucune exigence d’authentification et aucune interaction utilisateur requise.
La fonctionnalité affectée repose sur Satori, la bibliothèque de Vercel pour convertir les structures JSX et semblables à HTML en contenu SVG avant que l’image résultante ne soit rendue. Selon les recherches publiées, certaines valeurs contrôlées par l’attaquant pourraient atteindre la sortie SVG générée sans être correctement échappées. En conséquence, une entrée spécialement conçue peut être interprétée comme un balisage SVG plutôt que comme un texte inoffensif. Dans les configurations Next.js affectées, ce comportement peut interagir avec les composants en aval d’une manière qui conduit à l’exécution de code côté serveur.
CVE-2026-94545 affecte les versions de Next.js à partir de 16.2.0 jusqu’à 16.3.5. La version 16.3.6 contient le correctif de sécurité. Next.js 15 n’est pas affecté par cette vulnérabilité spécifique, tandis que les applications utilisant l’implémentation Edge ImageResponse sont également hors de portée de vulnérabilité.
Il est important de noter que le simple fait d’utiliser ImageResponse ne rend pas automatiquement une application exploitable. La condition vulnérable nécessite l’implémentation Node.js et des données contrôlées par l’attaquant insérées dans le contenu, les attributs ou les styles SVG. Par exemple, une application pourrait accepter une valeur de chaîne de requête et l’intégrer dans une image d’aperçu social générée dynamiquement. Si cette valeur atteint la chaîne de rendu vulnérable sans contrôle adéquat, un attaquant pourrait concevoir une entrée destinée à déclencher la faille.
Cette distinction est importante pour la priorisation des vulnérabilités. Les développeurs devraient rechercher dans leurs bases de code les imports d’ImageResponse depuis next/og, y compris les gestionnaires de routes et les implémentations d’images Open Graph, puis déterminer si des valeurs non fiables influencent la sortie générée. Certaines images sont générées lors de l’arrivée des requêtes, ce qui signifie que des chemins de code potentiellement vulnérables peuvent être directement accessibles sur internet.
Les détails pour CVE-2026-94545 soulignent également un aspect de la chaîne d’approvisionnement de la vulnérabilité. La faiblesse sous-jacente existe dans Satori, où des valeurs mal échappées peuvent devenir un contenu SVG actif. Les développeurs utilisant Satori directement devraient mettre à jour vers la version 0.33.5, qui contient le correctif correspondant. Les applications Next.js devraient mettre à jour le cadre lui-même plutôt que de se fier à un package Satori mis à jour indépendamment car Satori est intégré dans Next.js.
Une exploitation réussie pourrait fournir à un attaquant distant non authentifié une exécution de code dans le contexte du processus serveur Next.js vulnérable. En fonction des permissions et de l’environnement de l’application, cela pourrait exposer des secrets applicatifs, des identifiants API, des variables d’environnement, des bases de données, des identifiants de cloud, des services internes ou d’autres ressources accessibles depuis le serveur compromis.
L’exécution de code à distance pourrait également fournir un point d’ancrage initial pour des activités malveillantes supplémentaires, y compris le déploiement de charges utiles, le vol d’identité, la persistance, la reconnaissance et le mouvement latéral. L’impact exact de l’après-exploitation dépend donc fortement de la façon dont l’application Next.js affectée est déployée et des permissions dont son processus serveur dispose.
Au 23 septembre 2026, les rapports publics n’ont identifié aucune attaque confirmée exploitant la vulnérabilité dans la nature et aucun PoC CVE-2026-94545 publiquement disponible. Cependant, les détails techniques de la vulnérabilité sont désormais publics, ce qui signifie que les organisations ne devraient pas interpréter l’absence d’exploitation signalée comme une indication de faible risque.
Il n’existe pas non plus de CLI spécifiques à des campagnes pour CVE-2026-94545 documentés publiquement dans les recherches citées. Les défenseurs doivent donc se concentrer sur les indicateurs comportementaux, y compris les requêtes inhabituelles aux points de terminaison de génération d’images dynamiques, les processus enfants anormaux générés par les applications Node.js, la communication sortante inattendue depuis les serveurs Next.js, la création de fichiers suspects et l’exécution de commandes provenant des processus d’application web.
Mitigation de CVE-2026-94545
La principale atténuation de CVE-2026-94545 consiste à mettre à jour les applications Next.js affectées vers la version 16.3.6. Vercel répertorie la version 16.3.6 comme la version corrigée pour la ligne de sortie affectée 16.x. Les applications exécutant Next.js 16.2.x doivent également passer à la version 16.3.6 plutôt que d’attendre une version de sécurité 16.2 séparée.
Les administrateurs doivent vérifier la version de production réelle plutôt que de se fier uniquement aux manifestes de packages ou à l’analyse des dépendances. Après la mise à jour, les applications de production et les conteneurs doivent être reconstruits et redéployés pour garantir que le framework corrigé est effectivement en cours d’exécution.
Les organisations devraient également auditer le code de l’application pour les imports tels que :
import { ImageResponse } de ‘next/og’
Une attention particulière doit être accordée aux gestionnaires de routes, générateurs d’images Open Graph et autres composants qui créent des images dynamiquement à partir de données de requête. Les développeurs doivent identifier toute situation où les paramètres d’URL, les réponses d’API, les entrées de formulaire, le contenu de la base de données contrôlé par les utilisateurs ou d’autres données non fiables peuvent atteindre le contenu, les attributs ou les styles SVG.
Si une mise à niveau immédiate n’est pas possible, Vercel recommande de s’assurer que les valeurs contrôlées par l’attaquant ne sont pas passées dans le contenu, les attributs ou les styles SVG rendus par l’implémentation Node.js de ImageResponse. Cela réduit l’exposition mais doit être considéré comme une solution provisoire plutôt qu’un remplacement de la mise à niveau.
Les organisations devraient également éviter de supposer que le changement d’environnements d’exécution est la remédiation préférée. Bien que l’implémentation Edge ne soit pas vulnérable à cette faille, l’avis de Vercel recommande spécifiquement de retirer les données contrôlées par l’attaquant des chemins de rendu vulnérables lorsque la mise à niveau ne peut être effectuée immédiatement.
To Détecter les tentatives d’exploitation de CVE-2026-94545 , les équipes de sécurité doivent surveiller les journaux d’application et de proxy inversé pour des entrées inhabituelles envoyées aux routes responsables de la génération d’images. Les télémétries EDR et de charge de travail doivent également identifier les processus Node.js générant de façon inattendue des shells ou des utilitaires système, créant des fichiers exécutables, accédant à des secrets sensibles ou établissant des connexions réseau sortantes inhabituelles.
Les organisations qui ont exploité des applications affectées avant le patch doivent examiner les télémétries historiques à la recherche de requêtes suspectes et de comportements post-exploitation. Comme aucune méthode fournie par le fournisseur ne détermine actuellement si une route vulnérable a été précédemment exploitée, la combinaison de journaux d’application, de télémétrie EDR, de dossiers d’audit cloud et d’activité réseau offre l’approche d’investigation rétrospective la plus solide.
De plus, la Plateforme d’Intelligence de Détection Native à l’IA de SOC Prime peut aider les équipes de sécurité à opérationnaliser l’intelligence des vulnérabilités émergentes en règles de détection et requêtes de chasse, permettant une réponse plus rapide aux menaces critiques de sécurité applicative.
Avertissement : le contenu de détection peut ne pas être disponible pour chaque CVE. Consultez la Plateforme SOC Prime pour la couverture actuelle. Si les détections pertinentes ne sont pas encore disponibles, vérifiez à nouveau car de nouveaux contenus de détection sont continuellement ajoutés.
FAQ
Qu’est-ce que CVE-2026-94545 et comment ça fonctionne ?
CVE-2026-94545 est une vulnérabilité d’exécution de code à distance critique dans l’implémentation Node.js d’ImageResponse de Next.js next/og. Lorsqu’une application vulnérable intègre des valeurs contrôlées par un attaquant dans le contenu, les attributs ou les styles SVG, une entrée spécialement conçue peut atteindre la chaîne de rendu d’image et permettre finalement l’exécution de code arbitraire sur le serveur.
Quand CVE-2026-94545 a-t-il été découvert pour la première fois ?
La vulnérabilité a été signalée par les chercheurs en sécurité Raghav Maheshwari et rafabd1. Vercel a divulgué publiquement le problème et publié son avis de sécurité le 22 septembre 2026, parallèlement à la sortie de Next.js 16.3.6 patchée. L’avis public ne spécifie pas la date de découverte privée initiale des chercheurs.
Quel est l’impact de CVE-2026-94545 sur les systèmes ?
Une exploitation réussie peut permettre à un attaquant distant non authentifié d’exécuter du code arbitraire dans le contexte du serveur Next.js affecté. En fonction des privilèges de l’application, les attaquants pourraient potentiellement accéder aux secrets de l’application, aux identifiants, aux services internes, aux informations sensibles ou utiliser le serveur compromis comme point d’ancrage pour d’autres attaques. Vercel évalue le problème comme critique avec un score CVSS de 9,5.
CVE-2026-94545 peut-il encore m’affecter en 2026 ?
Oui. Les applications exécutant Next.js 16.2.0 à 16.3.5 peuvent rester vulnérables lorsqu’elles utilisent l’implémentation Node.js ImageResponse et passent des valeurs contrôlées par l’attaquant dans le contenu, les attributs ou les styles SVG. Next.js 16.3.6 contient le correctif.
Comment puis-je me protéger de CVE-2026-94545 ?
Mettez à jour les applications Next.js affectées vers la version 16.3.6, reconstruisez et redéployez les charges de travail de production, et auditez toute utilisation d’ImageResponse de next/og pour les entrées contrôlées par l’attaquant. Si la mise à niveau ne peut pas être effectuée immédiatement, empêchez les valeurs non fiables d’atteindre le contenu, les attributs ou les styles SVG. Les organisations doivent également surveiller les serveurs vulnérables pour un comportement suspect du processus Node.js et revoir l’activité historique pour détecter des signes de compromission.