Validation de l'entrée utilisateur

Quelqu’un sait-il s’il est possible de mettre en œuvre une validation personnalisée des entrées utilisateur, en particulier pour les nouveaux utilisateurs, les nouveaux badges d’administrateur et les nouveaux champs utilisateur.

Après un test d’intrusion, nous avons constaté que nous sommes vulnérables aux injections HTML et à d’autres entrées malveillantes dans ces zones, et nous nous demandons s’il existe un moyen de valider davantage ces entrées pour améliorer la sécurité (éventuellement en utilisant des expressions régulières ou une autre méthode pour obtenir le même résultat).

Merci d’avance !

1 « J'aime »

Oui, il est possible pour vous, ou pour un développeur de plugins Discourse professionnel, d’écrire un plugin « relativement simple » pour ajouter une validation aux modèles.

Peut-être devriez-vous publier votre demande dans Marketplace ?

Quels champs sont sensibles à l’injection HTML ?

3 « J'aime »

Exactement ce que j’allais demander.

1 « J'aime »

J’espère qu’il en informera les développeurs en privé avant nous :slight_smile:

Discourse ne participe-t-il pas à un programme par lequel ils paient pour la découverte de vulnérabilités de sécurité ?

1 « J'aime »

En effet : hackerone

2 « J'aime »

Merci de votre réponse rapide !

Les paramètres concernés sont donc :

Création d’utilisateur : name, title, location, bio_raw

Badges : name, description, long_description

Champs utilisateur : name, description

Nous faisons partie de la communauté, mais nous ne sommes pas membres de l’équipe. Vous devrez donc obtenir une réponse de leur part sur ce sujet. Cependant, compte tenu de l’attention portée aux vulnérabilités et à la sécurité par l’équipe, ainsi que de l’utilisation de cadres standards de l’industrie, je recommanderais d’attendre leur réponse avant de porter un jugement.

Cela ne semble pas être quelque chose que vous devriez devoir atténuer, mais en même temps, cela a peut-être déjà été résolu d’une certaine manière.

2 « J'aime »

Je serais très surpris si cela permettait l’injection HTML. Veuillez le démontrer en modifiant votre profil ici avec un exemple trivial.

2 « J'aime »

Bienvenue sur Meta @Cal :wave:

Ces champs sont nettoyés/échappés. De plus, Discourse a CSP activé par défaut.

Ces éléments sont également nettoyés. Ils ne sont accessibles qu’aux administrateurs, et CSP est également activé.

Si vous avez identifié un problème de sécurité lié aux entrées utilisateur qui se produit même avec CSP activé, nous aimerions en être informés ici.

7 « J'aime »