Seguretat

Superfície petita, revisió publicada

Missivus té una credencial que pot enviar correu en nom de la vostra empresa. Aquest és exactament el tipus de codi que s'hauria de revisar línia per línia i documentar públicament — així que es va fer.

El model de seguretat en un paràgraf

La política d'accés d'aplicació d'Exchange és el que limita l'abast del dany. Totes les troballes de sota queden contingudes per ella — fins i tot una credencial completament compromesa pot enviar des d'una bústia compartida i res més. Per això la guia d'instal·lació tracta la política com un pas obligatori amb una ordre de verificació, no com un enduriment opcional.

Què va cobrir la revisió

L'arbre v0.1.1 es va auditar després del primer desplegament en producció — el transport de Graph, el model de configuració, el mètode d'API del correu de prova i el component Vue, comprovats per detectar filtracions de secrets a través de registres, respostes d'API, codi HTML i consola del navegador; autenticació i CSRF a la superfície d'API; validació d'entrada a cada opció; i si els cossos d'error de Graph poden arribar a algú que no sigui superusuari. Les afirmacions sobre el comportament de Matomo es van verificar contra el codi font de Matomo, no de memòria.

Troballes, dites amb honestedat

Corregit abans de la publicació

  • Una substitució de l'URL base podria haver dirigit el secret de client cap a l'amfitrió d'un atacant — ara els URL es validen com a orígens https nus abans de construir cap petició.
  • Un error de xarxa a mitja càrrega podia filtrar un URL de càrrega preautenticat al registre — ara es converteix i s'oculta com qualsevol altre error.
  • La configuració acceptava qualsevol cadena — ara cada camp valida la seva forma, de manera que un ID de secret enganxat falla en desar, no com un error opac de Microsoft més endavant.
  • El mètode d'API del correu de prova acceptava qualsevol destinatari i responia a GET — ara és només POST amb una adreça validada, i queda fora dels registres d'accés del servidor.

Verificat com a net

  • Els secrets no arriben mai al codi HTML, a la resposta de l'API ni a la consola del navegador — els camps de contrasenya els emmascara el nucli de Matomo, i el connector hi afegeix dues proteccions pròpies a sobre.
  • La crida de prova està protegida contra CSRF pel model de testimonis de Matomo, amb una regla només-POST afegida com a defensa en profunditat.
  • Tot el que es registra o es llança passa per un redactor que esborra els secrets coneguts per valor i les credencials per forma — testimonis, assercions, capçaleres bearer, URL de càrrega — i falla de manera tancada.

Compromisos acceptats i documentats

  • El testimoni d'accés de curta durada es guarda a la memòria cau en fitxer de Matomo — qui pugui llegir-la ja pot llegir la configuració de Matomo, que pot contenir el secret mateix. Mitigat per la vida útil de 55 minuts i la política d'accés.
  • Un superusuari pot enviar correus de prova sense límit — un vector de molèstia, no de privilegi; un superusuari podria reconfigurar el correu directament de totes maneres.
  • Un secret introduït a la interfície de configuració es desa sense xifrar a la base de dades de Matomo — els nivells de fitxer de configuració i variable d'entorn existeixen precisament perquè no calgui, i tenen preferència.

Llegiu la revisió completa amb les onze troballes a GitHub

Informar d'una vulnerabilitat

Escriviu a l'adreça de sota amb els detalls. Doneu-nos l'oportunitat de corregir un problema abans que es faci públic — i no incloeu mai un secret de client, un certificat o un fitxer PEM en un informe.

Contacte de seguretat: