Instance Discourse privée, envoi d’e-mails via Mailgun. 2.4b1.
Parmi diverses catégories sécurisées par groupes :
- CategoryA sécurisée par GroupA
- CategoryB sécurisée par GroupB
Il y a également deux utilisateurs :
-
User1
- est membre de GroupA.
-
User2
- est membre de GroupA et GroupB
Aucun des deux utilisateurs n’a visité le site depuis plus de 24 heures. Tous deux ont configuré leurs notifications pour tous les nouveaux messages dans les catégories auxquelles ils ont accès.
Un nouveau sujet a été publié, initialement dans CategoryA. Il a rapidement été reclassé dans CategoryB.
Plusieurs heures plus tard, en consultant les journaux de MailGun, je constate que User1 et User2 ont tous deux reçu des e-mails de notification concernant ce nouveau sujet, mais le titre de l’e-mail indiquait que le sujet se trouvait dans CategoryB, catégorie dont User2 ignorait même l’existence.
Le paramètre email time window mins est réglé à 5 minutes, et le message a été reclassé bien avant que ce délai ne s’écoule. La note sous ce champ indique : Attendez (n) minutes avant d’envoyer des e-mails de notification, afin de laisser aux utilisateurs la possibilité de modifier et de finaliser leurs messages.
Il semble y avoir un problème dans la logique des notifications par e-mail : le message a été déplacé quelques secondes après sa publication, et les e-mails prouvent qu’il a été reclassé avant leur envoi. L’e-mail a été envoyé depuis une catégorie dont l’utilisateur n’avait ni connaissance ni accès, exposant ainsi des informations à une partie non autorisée.
Dans le pire des cas, je m’attendrais à ce que l’e-mail fasse référence à CategoryA, catégorie à laquelle User1 a accès, bien que cela resterait indésirable si le sujet était à nouveau déplacé hors de cette catégorie avant l’envoi de l’e-mail. Idéalement, la catégorie devrait être déterminée au moment où l’e-mail est prêt à être envoyé, ce qui permettrait de se prémunir contre les erreurs humaines et éviterait toute fuite d’information.