8 points par GN⁺ 2025-12-06 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Une vulnérabilité d’exécution de code à distance (RCE) permettant d’exécuter du code arbitraire sans authentification a été découverte dans les React Server Components, et une mise à niveau immédiate est nécessaire
  • Next.js est également impacté, et vulnérable lorsqu’on utilise App Router. Next.js la suit sous la référence CVE-2025-66478
  • La cause première de la vulnérabilité est la server-side prototype pollution (pollution de prototype côté serveur), permettant à un attaquant de manipuler le prototype d’un objet JavaScript et d’exécuter des commandes via child_process.execSync, entre autres
  • Un code PoC public (preuve de concept) s’est diffusé très rapidement, et Datadog a détecté, au 5 décembre, des tentatives d’attaque réelles depuis plus de 800 adresses IP
  • Cette vulnérabilité, évaluée à 10 au CVSS, est particulièrement critique sur Next.js 15.x~16.x, et l’application des derniers correctifs est indispensable

Vue d’ensemble de la vulnérabilité principale

  • Le 3 décembre, une vulnérabilité autorisant l’exécution de code arbitraire sans authentification dans React Server Components a été découverte et enregistrée sous CVE-2025-55182
    • La vulnérabilité s’exécute côté serveur, et un attaquant peut exécuter du code à distance
  • Next.js est concerné car il inclut le composant vulnérable
    • Next.js est suivi séparément sous CVE-2025-66478, mais la NVD a officiellement rejeté cette CVE
  • Le score CVSS est de 10/10 ; Datadog a confirmé que l’attaque est très simple et reproductible même sur une app Next.js générée à partir d’un template par défaut
  • Au 5 décembre, des tentatives d’attaque réelles avec des payloads armés ont été observées

Versions impactées et mesures d’atténuation

  • Bibliothèques React vulnérables :
    • react-server-dom-parcel, react-server-dom-webpack, react-server-dom-turbopack
    • Versions vulnérables : 19.0~19.2.0 / Versions corrigées : 19.0.1, 19.1.2, 19.2.1
  • Versions impactées de Next.js
    • Vulnérables : 15.x, 16.x, après 14.3.0-canary.77
    • Corrigées : 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
  • Vérification de la vulnérabilité possible via la commande npm audit
  • La solution consiste à mettre à niveau vers une version corrigée

Analyse de la vulnérabilité et PoC

  • Le 3 décembre, un correctif a été commité dans le dépôt React
    • La modification consiste à modifier requireModule pour vérifier l’existence d’une propriété d’objet
  • Cette vulnérabilité est de type server-side prototype pollution, qui permet d’exécuter du code arbitraire en polluant le prototype d’un objet
  • PoC publiés :
    • Le premier PoC (ejpir/CVE-2025-55182-poc) est non fonctionnel
    • Le deuxième PoC (msanft/CVE-2025-55182) fonctionne même sur une app Next.js par défaut
    • Le 5 décembre, le rapporteur initial Lachlan Davidson a publié une version officielle de PoC avec trois variantes

Activité d’attaque réelle

  • Datadog a détecté des activités de scan à partir du 3 décembre à 22 h (UTC)
    • Au 5 décembre, des scans et des tentatives d’attaque ont été confirmés depuis plus de 800 adresses IP
    • Plus de deux organisations ont été ciblées, et une activité continue a été observée après le 4 décembre
  • Flux d’attaque :
    • Initialement, des scans basés sur un PoC non fonctionnel
    • Puis le PoC de Moritz Sanft, puis celui de Davidson, avec substitution progressive des payloads
  • Payloads observés :
    • Lecture de /etc/passwd, exécution de whoami, téléchargement de scripts distants via curl·wget, etc.
    • Certains incluaient le vol de variables d’environnement (.env) et la collecte d’informations système

Concept de pollution de prototype côté serveur

  • Un cas de CWE-1321, qui se produit quand la gestion des attributs du prototype d’un objet est incorrecte
  • Généralement exploitée via XSS côté frontend, mais au niveau serveur, elle peut mener à du RCE ou à la lecture de fichiers
  • Dans l’exemple de code, la pollution via __proto__ modifie Object.prototype, et tous les objets créés ensuite sont affectés
  • En conséquence, lors d’un appel à spawnSync('sh'), une commande malveillante est injectée en entrée puis exécutée

Détection et fonctions de défense Datadog

  • Datadog Code Security détecte les bibliothèques vulnérables sur GitHub ou en runtime
    • Recherche disponible pour CVE-2025-55182 ou CVE-2025-66478
  • Datadog App and API Protection (AAP) peut bloquer les attaques en runtime
  • Datadog Workload Protection fournit des règles personnalisées pour détecter l’exécution de commandes telles que wget, curl, bash dans les processus Node

Références complémentaires

  • Recommandations officielles : React, Next.js
  • Réactions des fournisseurs cloud : AWS, Vercel, Google Cloud, Akamai, Cloudflare
  • Analyses de fournisseurs de sécurité : Wiz, Tenable, SearchLight Cyber
  • Alertes CERT : CERT-EU, CERT-SE, CERT-AU
  • Scanner public : assetnote/react2shell-scanner

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.