05/12/2025

Cybersécurité

React2Shell : comment vérifier si votre application Web est vulnérable ?

I. Présentation

La vulnérabilité React2Shell fait beaucoup parler d'elle, mais comment savoir si une application web est vulnérable à cette faille de sécurité ? Dans cet article, je vous explique comment utiliser React2Shell Scanner, un script Python qui vous indique si vous êtes vulnérable ou non à cette vulnérabilité.

Pour être plus précis, cet outil en ligne de commande va tester l'application web pour voir si elle est vulnérable à la faille qui impacte React Server Components. Soit la CVE-2025-55182 ou la CVE-2025-66478, selon si on parle de React ou du framework Next.js. Il existe probablement d'autres outils, mais celui-ci me semble fiable, notamment car la méthodologie de détection utilisée a été décrite sur cette page.

Avant de commencer, vous devez disposer d'une machine avec Python. Si besoin :

Disclaimer : le contenu de cet article est fourni à des fins strictement éducatives et préventives. L'objectif est de permettre aux administrateurs systèmes et aux professionnels de la cybersécurité de vérifier leurs systèmes et de prendre les mesures nécessaires.

Source : Gemini (IA)

II. Utilisation de l'outil react2shell-scanner

Cet outil permet d'analyser à distance un ou plusieurs noms de domaine, donc vous n'avez pas à l'installer sur votre serveur. On peut même dire que vous pouvez tester votre application dans la position d'un attaquant.

Tout d'abord, vous devez télécharger les sources de ce dépôt GitHub :

Ensuite, décompressez le contenu de l'archive obtenue. Par exemple, vous obtenez le répertoire suivant : C:\TEMP\react2shell-scanner-master. Il contient le fichier requirements.txt qui référence les dépendances Python à installer et le script lui-même nommé scanner.py.

Commencez par installer les dépendances avec la commande ci-dessous. À titre d'information, il faut disposer de : requests>=2.28.0, tqdm>=4.64.0, urllib3>=1.26.0.

pip install -r .\requirements.txt

Ensuite, vous pouvez commencer à scanner un nom de domaine via cette commande :

python.exe .\scanner.py -u https://host.domaine.fr

Vous obtenez alors le résultat dans la console, comme ici [NOT VULNERABLE]. Si vous êtes vulnérable, ce sera indiqué [VULNERABLE] en rouge. Si votre hôte est vulnérable, je vous recommande de relancer le test avec l'option -v pour activer le mode verbeux et obtenir des informations supplémentaires.

Note : si votre application est protégée par un WAF, il est possible qu'il interfère avec les tests du scanner. Cela peut impacter le résultat, mais c'est aussi le signe que vous disposez d'une première barrière de protection efficace.

Il est aussi envisageable de scanner plusieurs hôtes. Vous pouvez créer un fichier texte avec un hôte par ligne et l'appeler de cette façon :

python.exe .\scanner.py -l .\hosts.txt

Vous avez une synthèse en retour :

L'outil dispose aussi d'autres options intéressantes :

  • -o resultats.json : sauvegarder les résultats dans un fichier JSON,
  • --windows : si le serveur cible tourne sous Windows (pour utiliser un payload PowerShell)
  • --safe-check : pour tester le serveur sans aller jusqu'à faire une RCE, c'est un mode de détection moins agressif.

III. Conclusion

La faille de sécurité React2Shell doit être prise au sérieux, car elle permet une exécution de code à distance sans authentification. Compte tenu de la popularité de React et de frameworks comme Next.js, cette vulnérabilité représente une énorme opportunité pour les cybercriminels... Cela est d'autant plus vrai qu'un ensemble d'outillage est en train de se mettre en place et de premières tentatives d'exploitation de React2Shell ont déjà été détectées.

FAQ

Qu'est-ce que la faille de sécurité React2Shell ?

React2Shell est une vulnérabilité critique (score CVSS de 10 sur 10) permettant l'exécution de code à distance (RCE) sans authentification. Elle affecte principalement les applications web, car elle affecte les serveurs utilisant React Server Components ou le framework Next.js. Cette faille de sécurité représente une menace sérieuse : elle offre aux attaquants un point d'entrée direct sur les serveurs.

Quelles sont les références CVE associées à React2Shell ?

Derrière le nom React2Shell se cache une vulnérabilité référencée sous deux identifiants CVE distincts selon la technologie impactée :

  • CVE-2025-55182 pour React.
  • CVE-2025-66478 pour le framework Next.js.

Comment savoir si mon application est vulnérable à React2Shell ?

Pour vérifier si votre application est exposée, vous pouvez vérifier la version de React ou Next.js utilisée par votre application. Sinon, vous pouvez utiliser l'outil React2Shell Scanner présenté dans cet article et qui se présente sous la forme d'un script Python.

Que faire si le scanner React2Shell indique [VULNERABLE] ?

Si le résultat affiche [VULNERABLE] en rouge, votre serveur est exposé à une exécution de code arbitraire. Il est impératif de mettre à jour immédiatement vos dépendances React et Next.js vers les dernières versions patchées. Voici les versions avec un correctif :

  • React : 19.0.1, 19.1.2, 19.2.1
  • Next.js : 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.