
PoC pour CVE-2025-55183
Ce dépôt contient des outils de détection pour une vulnérabilité de divulgation de code source dans Next.js React Server Components (RSC) / Server Actions, suivie sous l'identifiant CVE-2025-55183.
Dans les applications vulnérables, une requête HTTP malveillante adressée à une fonction serveur peut amener le serveur à renvoyer l'intégralité du code source JavaScript de cette fonction lorsque la référence est convertie en chaîne de caractères (par exemple, via des littéraux de gabarit ou une coercition implicite dans des requêtes de base de données).
Le correctif de React ajoute une redéfinition de toString() pour les références serveur, qui renvoie une chaîne de caractères constante comme espace réservé au lieu du corps réel de la fonction. Les applications exécutant des versions plus anciennes peuvent encore divulguer du code source si les références serveur sont converties en chaîne directement ou indirectement et renvoyées au client.
⚠️ Avis légal :
Ces outils sont destinés aux tests de sécurité et à la recherche sur des systèmes que vous possédez ou pour lesquels vous êtes explicitement autorisé à effectuer des tests. L'analyse ou l'exploitation non autorisée peut être illégale.
CVE-2025-55183.yaml_next/static/chunks/*.jsID : CVE-2025-55183
Composant : React Server Components / Server Actions dans les applications Next.js
Impact : Divulgation du code source JavaScript côté serveur
Cause racine :
Les références serveur (fonctions serveur) ne redéfinissaient pas toString(). Lorsqu'une telle référence était passée en argument à un code qui la convertissait en chaîne, son code source complet pouvait être renvoyé au client (par exemple, via un chemin d'erreur, une journalisation ou une logique de construction de requête).
Correctif (en amont) :
React installe désormais un descripteur toString sur les références serveur qui renvoie un espace réservé constant tel que :
function () { [omitted code] }
Cela empêche l'exposition des corps de fonctions réels même en cas de conversion en chaîne.
Pour plus de détails sur les changements sous-jacents de React, voir :
894bc73cb493487c48d57f4508e6278db58e673a