NIS2 50+ salariés ou €10M+ CA : reporting d’incident en 72h obligatoire. Reporting d’incident en 72h obligatoire. Êtes-vous prêt ? →
Skip to main contentSkip to footer

Tutoriel : Protéger vos applications React contre les attaques React2Shell

Un nouvel outil d’attaque circule activement : les cybercriminels scannent massivement Internet à la recherche d’applications React vulnérables à React2Shell, une technique d’exécution de code à distance exploitant des composants mal configurés. Ce tutoriel vous guide pour auditer et protéger vos applications React en production.

Qu’est-ce que React2Shell ?

React2Shell exploite des composants React côté serveur (SSR) qui désérialisent des données utilisateur sans validation. L’attaquant injecte du code JavaScript malveillant via des props non sanitisés, obtenant ainsi une exécution de commandes sur le serveur. Les frameworks comme Next.js et Remix sont particulièrement ciblés lorsqu’ils utilisent dangerouslySetInnerHTML ou des hydrations non sécurisées.

Étape 1 : Identifier les composants vulnérables

Commencez par auditer votre codebase avec grep :

  • grep -rn "dangerouslySetInnerHTML" src/ — repérez tout rendu HTML brut
  • grep -rn "serialize\|deserialize\|eval(" src/ — identifiez les désérialisations
  • grep -rn "getServerSideProps\|getStaticProps" src/ — vérifiez les entrées côté serveur

Étape 2 : Scanner avec des outils automatisés

Utilisez Semgrep avec des règles spécifiques React :

  • Installez : pip install semgrep
  • Scannez : semgrep --config p/react --config p/xss src/
  • Ajoutez les règles OWASP : semgrep --config p/owasp-top-ten src/

Étape 3 : Appliquer les correctifs

  • Remplacez dangerouslySetInnerHTML par des bibliothèques de sanitisation comme DOMPurify
  • Validez toutes les entrées SSR avec des schémas Zod ou Joi avant le rendu
  • Activez le CSP (Content Security Policy) strict : script-src 'self'; object-src 'none'
  • Mettez à jour Next.js vers la dernière version — les correctifs récents adressent plusieurs vecteurs React2Shell
  • Désactivez le mode debug en production : NODE_ENV=production

Étape 4 : Monitorer en continu

Configurez une alerte Wazuh pour détecter les tentatives d’exploitation :

  • Surveillez les logs d’accès pour les payloads contenant __proto__, constructor ou require()
  • Créez une règle custom Wazuh (niveau 12+) sur ces patterns dans vos logs applicatifs
  • Intégrez npm audit dans votre pipeline CI/CD pour détecter les dépendances vulnérables

Conclusion

L’outil de scan React2Shell montre que les attaquants industrialisent l’exploitation des frameworks JavaScript modernes. En auditant vos composants, en appliquant une sanitisation stricte et en surveillant vos logs, vous réduisez considérablement votre surface d’attaque. N’attendez pas d’être scanné — sécurisez vos applications React dès aujourd’hui.

Renforcez dès maintenant la cybersécurité de votre PME ou ETI avec ucyber.ai.
Évaluez votre niveau de sécurité ou
contactez-nous pour en savoir plus.
Suivez-nous sur LinkedIn.

Réserver 15 min — diagnostic