Faille Next.js : deux failles RCE critiques corrigées en urgence

Une faille Next.js critique permet l'exécution de code à distance sans authentification : correctif hors cycle disponible.
Une nouvelle faille Next.js vient de pousser l’équipe du framework à publier un correctif en urgence. Ainsi, le 14 octobre, une mise à jour de sécurité hors cycle a corrigé trois vulnérabilités. Deux d’entre elles sont critiques. En effet, elles permettent d’exécuter du code à distance, sans authentification. La troisième est un déni de service jugé de gravité élevée.
Une faille Next.js corrigée hors cycle
Une mise à jour hors cycle n’est pas anodine. En effet, elle intervient en dehors du calendrier habituel de publication. Les mainteneurs y recourent lorsque le risque d’exploitation justifie de ne pas attendre.
Ici, le message est clair. Deux défauts peuvent mener à une exécution de code arbitraire (RCE) à distance. De plus, l’attaquant n’a pas besoin de compte ni d’identifiants. Il suffit donc qu’une application vulnérable soit exposée sur Internet.
Next.js est l’un des frameworks les plus répandus pour créer des applications web avec React. Il alimente des sites vitrines, des plateformes e-commerce et des outils internes. Par conséquent, une vulnérabilité de ce type concerne un très grand nombre d’organisations.
Deux vulnérabilités d’exécution de code distinctes
Les deux failles critiques n’ont pas la même origine. En effet, elles touchent des composants différents de la chaîne logicielle.
React Server Components
La première faille se situe dans les React Server Components. Cette technologie permet d’exécuter une partie du rendu côté serveur. Le serveur traite donc des données envoyées par le client. Or, lorsque ce traitement comporte une erreur, un attaquant peut en tirer parti. Il peut alors faire exécuter du code sur la machine.
librsvg et traitement des images SVG
La seconde faille concerne librsvg, une bibliothèque open source dédiée au rendu des images SVG. Next.js l’utilise indirectement, par l’intermédiaire du paquet sharp. Ce dernier sert à manipuler et à optimiser les images côté serveur.
Le scénario est préoccupant. Un fichier SVG spécialement conçu peut déclencher le défaut lors de son traitement. Autrement dit, une simple image peut devenir un vecteur d’attaque. En outre, ce type de fonction de traitement d’images est très courant dans les applications Next.js.
Un déni de service en complément
Le lot de correctifs traite aussi une faille de déni de service, classée en gravité élevée. Elle ne permet pas de prendre le contrôle du serveur. Toutefois, elle peut rendre une application indisponible. Pour un service en ligne, l’impact opérationnel reste donc réel.
Pourquoi le risque est élevé pour les applications web
Plusieurs éléments rendent ces vulnérabilités sensibles. D’abord, l’exploitation ne demande aucune authentification. Ensuite, le résultat possible est l’exécution de code, soit le scénario le plus grave pour un serveur.
Une compromission réussie peut avoir des conséquences en cascade. Un attaquant pourrait notamment :
- lire des variables d’environnement et des secrets applicatifs ;
- accéder à des bases de données ou à des API internes ;
- installer une porte dérobée pour conserver un accès durable ;
- rebondir vers d’autres systèmes du réseau.
Par ailleurs, la présence de librsvg dans la chaîne rappelle un point important. Une application dépend rarement d’un seul logiciel. Elle repose sur une pile de bibliothèques, souvent héritées de dépendances indirectes. Ainsi, une faille dans l’une d’elles peut toucher des projets qui ne l’ont jamais installée volontairement.
Comment corriger la faille Next.js
La priorité est d’appliquer le correctif publié le 14 octobre. Les équipes doivent consulter l’avis de sécurité officiel du projet pour connaître les versions corrigées. Ensuite, elles doivent mettre à jour Next.js sur tous leurs environnements.
Il faut également vérifier les dépendances liées au traitement d’images. Le paquet sharp et la bibliothèque librsvg qu’il embarque méritent une attention particulière. Par ailleurs, un redéploiement complet est nécessaire après la mise à jour. Sans lui, le correctif n’est pas effectif en production.
Enfin, la surveillance reste utile en parallèle. Des requêtes inhabituelles vers des routes liées aux Server Components doivent attirer l’attention. Il en va de même pour des envois de fichiers SVG suspects. En cas de doute sur une exposition passée, il est donc prudent de renouveler les secrets stockés sur le serveur.
Ce qu’il faut retenir
- Next.js a publié une mise à jour de sécurité hors cycle le 14 octobre.
- Deux failles critiques permettent une exécution de code à distance sans authentification.
- L’une touche les React Server Components, l’autre la bibliothèque librsvg via
sharp. - Une troisième faille, de déni de service, est classée en gravité élevée.
- Mettez à jour sans attendre, redéployez, puis auditez vos journaux et vos secrets.
Source : Next.js Ships Out-of-Band Patch for Two Critical RCE Flaws in Caching and SVG Processing