Dettagli della categoria protetta trapelati via email

Istanza di Discourse privata, invio email tramite Mailgun. 2.4b1.

Tra diverse categorie protette da gruppi:

  • CategoryA protetta da GroupA
  • CategoryB protetta da GroupB

Sono presenti anche due utenti:

  • User1

    • è membro di GroupA.
  • User2

    • è membro di GroupA e GroupB

Nessuno dei due utenti ha visitato il sito da oltre 24 ore. Entrambi hanno le notifiche attivate per tutti i nuovi post nelle categorie a cui hanno accesso.

È stato pubblicato un nuovo argomento, inizialmente in CategoryA. È stato rapidamente ricategorizzato in CategoryB.

Diverse ore dopo, controllando i log di MailGun, ho notato che sia User1 che User2 hanno ricevuto email di notifica del nuovo argomento, ma l’intestazione dell’email indicava che l’argomento era in CategoryB, categoria di cui User2 non aveva alcuna conoscenza preventiva.

email time window mins è impostato a 5 minuti; il post è stato ricategorizzato molto prima che questo tempo fosse trascorso. La nota sotto quel campo dice: Attendi (n) minuti prima di inviare qualsiasi email di notifica, per dare agli utenti la possibilità di modificare e finalizzare i propri post.

Sembra esserci un problema nella logica delle notifiche email: il post è stato spostato pochi secondi dopo la pubblicazione e le email dimostrano che la ricategorizzazione è avvenuta prima dell’invio. L’email è stata inviata da una categoria di cui l’utente non aveva conoscenza o accesso, esponendo infine informazioni alla parte sbagliata.

Nel peggiore dei casi, mi aspetterei che l’email attribuisse la CategoryA a cui User1 aveva accesso, sebbene ciò sarebbe comunque indesiderabile se l’argomento fosse stato spostato fuori da quella categoria prima dell’invio dell’email. Idealmente, la categoria dovrebbe essere determinata al momento dell’invio programmato dell’email, proteggendo così da errori umani ed evitando qualsiasi tipo di perdita di informazioni.

3 Mi Piace

Grazie per la segnalazione. È stato corretto in FIX: Don't send notification email when user isn't allowed to see topic · discourse/discourse@d513c28 · GitHub e applicato anche alle versioni beta e stable.

11 Mi Piace