Retour au blog
ReacttechniqueXSS

React dangerouslySetInnerHTML : vos composants sont des portes ouvertes au XSS

Publié le 2026-03-155 min de lectureFlorian

Le piège du CMS content

Quand votre application React affiche du contenu HTML depuis un CMS ou une API, vous utilisez probablement dangerouslySetInnerHTML. Le nom est un avertissement : mais beaucoup l'ignorent.

Le risque concret

Si le contenu injecté contient du JavaScript malveillant (<script>, onerror=, onload=), il sera exécuté dans le navigateur de l'utilisateur. Vol de cookies, redirection vers un site de phishing, exfiltration de données.

La solution : DOMPurify

Utilisez DOMPurify pour sanitizer le HTML avant de l'injecter : dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(content) }}.

Ce que nous trouvons

Dans les applications React que nous auditons, 40% utilisent dangerouslySetInnerHTML sans sanitization. C'est une faille XSS directe.

Articles liés

Trois analyses proches pour continuer la lecture sur la meme surface de risque.

Sources

Rédigé par Florian
Revu le 2026-03-15

Analyse éditoriale fondée sur la documentation officielle des éditeurs, projets et autorités concernées.

Services associés

Si ce sujet reflète un risque concret sur votre stack, voici les audits CleanIssue les plus pertinents.

Besoin d'une revue externe de votre SaaS RH ?

Expliquez votre produit, votre stack et votre contexte client. Nous revenons vers vous avec le bon niveau de revue.

Parler de votre audit