Corretta la vulnerabilità di cross-site scripting.

La vulnerabilità XSS è stata risolta entro due giorni dalla notifica.

2022-07-28
Focus on security: Fixed vulnerability within two days.
Il 22 giugno siamo stati informati di una vulnerabilità Cross-Site Scripting (XSS) in tutti i clienti Tutanota. Abbiamo immediatamente iniziato a lavorare a una correzione, che è stata pubblicata due giorni dopo. Ora, tutte le versioni di Tutanota interessate sono state disattivate e desideriamo informarvi del problema per garantire la massima trasparenza.

Cosa è successo?

Il 22 giugno 2022 abbiamo ricevuto un avviso di sicurezza da Paul Gerste, Sonar, che ci informava di una vulnerabilità cross-site scripting (XSS) in Tutanota che riguardava tutti i client e di una vulnerabilità di esecuzione di codice remoto (RCE) che riguardava solo i client desktop. Entrambe le vulnerabilità sono state risolte immediatamente e il 24 giugno 2022 è stata rilasciata una patch nella versione 3.98.1.

La vulnerabilità XSS consentiva a un aggressore di estrarre informazioni da Tutanota creando un'e-mail dannosa in grado di aggirare la nostra sanitizzazione, causando l'iniezione di codice JavaScript estraneo nell'applicazione e la sua esecuzione. La vulnerabilità RCE ha permesso a un aggressore di eseguire programmi sul sistema di un utente tramite il client desktop (questo è stato dimostrato utilizzando Windows, ma potrebbe essere possibile anche su altri sistemi operativi), sfruttando l'XSS e utilizzandolo per scaricare ed eseguire un allegato dannoso.

Quali azioni abbiamo intrapreso?

Due giorni dopo essere stati informati della vulnerabilità, abbiamo rilasciato una patch nella versione 3.98.1 che mette la chiamata urlify prima della sanitizzazione, risolvendo il problema immediato dell'XSS.

Inoltre, abbiamo implementato modifiche per rafforzare la sicurezza dell'applicazione, che in gran parte sono già state rilasciate o saranno rilasciate con il prossimo aggiornamento:

  • Utilizzo di un DOM ombra per il rendering dei corpi delle mail, assicurando che gli stili che in qualche modo sopravvivono alla sanitizzazione non si diffondano nel resto dell'applicazione.

  • Gestione dei casi limite con looksExecutable

  • Migliorare il CSP in electron e limitare l'accesso ai file

  • Randomizzazione del nome della directory temporanea, per garantire che la posizione degli allegati non possa essere prevista da un utente malintenzionato.

Tenete presente che un ulteriore rafforzamento della sicurezza in una prossima release richiederà la cancellazione degli indici di ricerca locale sui client desktop e sulle app mobili. L'indice verrà creato automaticamente con la ricerca successiva. Verificate qui come migliorare i risultati della ricerca.

Client interessati disattivati

Tutti i client interessati sono stati disabilitati. Non siamo a conoscenza di casi in cui un malintenzionato abbia sfruttato queste vulnerabilità.

Non è necessario modificare la password o il codice di recupero. Tuttavia, se decidete di farlo, leggete le nostre raccomandazioni su come proteggere al meglio le vostre credenziali di accesso.

Trasparenza e sicurezza

In Tutanota crediamo che la trasparenza e la sicurezza siano strettamente interconnesse. Per questo motivo riteniamo importante informarvi di questa vulnerabilità risolta, anche via e-mail.

Per prevenire problemi simili in futuro, abbiamo adottato le seguenti misure:

  • Abbiamo implementato diversi miglioramenti tecnici in Tutanota che impediscono lo sfruttamento nell'improbabile caso di future vulnerabilità XSS.

  • Abbiamo aggiunto test di regressione per questi miglioramenti alle nostre linee guida interne per la revisione della sicurezza.

  • Abbiamo sottolineato le revisioni di sicurezza delle modifiche alla gestione dei contenuti degli utenti come parte del nostro normale processo di revisione del codice.

L'open source aumenta il livello di sicurezza

Abbiamo sempre sottolineato il fatto che gli strumenti open source sono più sicuri delle applicazioni closed source. Il codice dei client open source può essere ispezionato dalla comunità della sicurezza per assicurarsi che sia privo di bug, vulnerabilità e backdoor.

Anche se sfortunatamente, le vulnerabilità trovate da Sonar dimostrano che questo è effettivamente vero. Sebbene il codice closed source possa presentare problemi simili, gli utenti potrebbero non scoprirlo mai.

Desideriamo ringraziare Sonar per aver divulgato in modo responsabile la vulnerabilità cross-site scripting di Tutanota 3.98.0.

Tutti i problemi segnalati erano soggetti a una scadenza di 90 giorni per la divulgazione, dopo la quale Sonar aveva dichiarato che avrebbe reso pubbliche alcune parti del problema. Siamo felici di essere stati in grado di risolvere i problemi segnalati molto più rapidamente, di fatto entro due giorni.

Nella nostra comunicazione via e-mail con Sonar, il ricercatore di vulnerabilità Paul Gerste ha persino detto: "Complimenti a voi e al vostro team, sembrate prendere sul serio la sicurezza del vostro prodotto!".

Siamo molto felici di questo feedback da parte di un esperto di sicurezza. Ci spinge a lavorare ancora più duramente per migliorare Tutanota!