Deux CVE récemment divulguées — CVE-2025-55182 dans React Server Components et CVE-2025-29927 dans le middleware Next.js — ouvrent une voie à l'exécution de code à distance et au contournement de l'authentification sur les stacks JavaScript modernes. Une seule requête peut déclencher ces failles ; la configuration seule ne peut les empêcher. Les équipes qui s'appuient sur React Server Components ou le middleware Next.js doivent traiter ces bugs comme urgents et déployer des correctifs immédiatement.

Pourquoi le bruit dans les logs est trompeur

Nous avons extrait un mois de logs de bordure (edge logs) d'un site Next.js en production. L'ensemble contenait 8 900 requêtes signalées comme malveillantes. Presque toutes ont échoué dès le premier saut. L'URL la plus courante était /wp-admin/install.php, sollicitée 518 fois, bien que le site n'utilise pas WordPress, ne fonctionne pas avec PHP et ne possède aucun fichier WordPress.

Les scanners automatisés génèrent ce trafic. Ils arrosent Internet de tentatives de devinettes, à la recherche de :

  • Secrets et fichiers de configuration – 64 % des tentatives
  • Panneaux et shells PHP – 22 %
  • Chemins WordPress – 11 %
  • Outils de base de données – 1 %

Un nombre élevé de requêtes bloquées indique seulement que vous n'exécutez pas le logiciel attendu par les bots. Cela ne garantit pas que l'application que vous exécutez réellement est sûre.

Les attaques silencieuses au niveau du framework

Lorsqu'un attaquant cible une application Next.js, le trafic ressemble à des requêtes utilisateur ordinaires, utilisant les propres mécanismes du framework contre lui.

React2Shell (CVE-2025-55182)

Une faille dans les React Server Components permet à un attaquant d'injecter une charge utile (payload) spécialement conçue que le serveur évalue comme du code. Le résultat est une exécution de code à distance complète sans avoir besoin de contourner un pare-feu ou un filtre d'application web. La vulnérabilité réside à l'intérieur du framework ; le seul remède est de passer à une version contenant le correctif.

Middleware Authorization Bypass (CVE-2025-29927)

Le middleware de Next.js peut appliquer des contrôles de sécurité basés sur les en-têtes de requête. Cette CVE montre qu'un attaquant peut fournir un en-tête interne particulier et amener le middleware à ignorer totalement ces contrôles. De l'extérieur, la requête semble ordinaire, ce qui rend la détection difficile.

Ces deux bugs démontrent que le trafic le plus dangereux peut se fondre dans le trafic quotidien, échappant ainsi aux alarmes qui interceptent les sondages WordPress bruyants.

Quels sont les enjeux

  • Les développeurs qui considèrent les mises à jour de frameworks comme optionnelles risquent une prise de contrôle complète de leurs serveurs.
  • Les équipes opérationnelles qui s'appuient sur une configuration statique pour durcir une stack ne peuvent pas se protéger contre du code qui s'exécute à l'intérieur même du framework.

Une liste de contrôle de défense pratique

  1. Hygiène du déploiement – Ne livrez pas de secrets dans des fichiers tels que .env. Stockez-les dans des variables d'environnement fournies au moment de l'exécution ou dans un système de gestion de secrets dédié.
  2. Surface d'attaque minimale – Désactivez les fonctionnalités du framework que vous n'utilisez pas. Appliquez une politique de sécurité de contenu (Content-Security-Policy) stricte qui bloque le chargement de scripts non autorisés.
  3. Correctifs rapides – Automatisez le pipeline de build afin qu'une nouvelle version du framework puisse être testée et déployée quelques heures seulement après sa sortie. Traitez les mises à jour de sécurité comme une partie régulière du cycle de déploiement, et non comme une réflexion après coup.

À surveiller ensuite

  • Abonnez-vous aux flux d'avis de sécurité officiels de React, Next.js et de toute autre bibliothèque d'exécution dont vous dépendez.
  • Intégrez des scanners de vulnérabilités qui comprennent les métadonnées des packages JavaScript, afin qu'une CVE nouvellement publiée déclenche une alerte automatique.
  • Construisez un pipeline de déploiement prêt pour un retour en arrière (rollback) ; si un correctif introduit des régressions, vous pourrez revenir rapidement en arrière sans laisser le système exposé.

La leçon est claire : les attaques les plus bruyantes dans vos logs sont souvent une diversion. Le véritable danger se cache dans le framework en lequel votre code a confiance. Gardez une stack légère, stockez les secrets en toute sécurité et traitez les correctifs comme une routine, et vous transformerez des menaces silencieuses au niveau du framework en risques gérables.