Correction d'une vulnérabilité de scripting intersite.

La vulnérabilité XSS a été corrigée dans les deux jours suivant la notification.

Focus on security: Fixed vulnerability within two days.

Le 22 juin, nous avons été informés d'une vulnérabilité de type Cross-Site Scripting (XSS) dans tous les clients Tutanota. Nous avons immédiatement commencé à travailler sur un correctif, qui a été publié deux jours plus tard. Aujourd'hui, toutes les versions de Tutanota concernées ont été désactivées et nous souhaitons vous informer de ce problème pour une transparence totale.


Que s’est-il passé ?

Le 22 juin 2022, nous avons reçu un avis de sécurité de Paul Gerste, Sonar, nous informant d’une vulnérabilité XSS (cross-site scripting) dans Tutanota qui affectait tous les clients, et d’une vulnérabilité RCE (remote code execution) qui n’affectait que les clients de bureau. Les deux vulnérabilités ont été corrigées immédiatement et un correctif a été publié dans la version 3.98.1 le 24 juin 2022.

La vulnérabilité XSS permettait à un attaquant d’extraire des informations de Tutanota en créant un courriel malveillant capable de contourner nos contrôles, ce qui entraînait l’injection de code JavaScript étranger dans l’application et son exécution. La vulnérabilité RCE permet à un attaquant d’exécuter des programmes sur le système d’un utilisateur via le client de bureau (la démonstration a été faite sous Windows, mais elle peut être possible sur d’autres systèmes d’exploitation), en tirant parti du XSS et en l’utilisant pour télécharger et exécuter une pièce jointe malveillante.

Quelles mesures avons-nous prises ?

Deux jours après avoir été informés de ces vulnérabilités, nous avons publié un correctif dans la version 3.98.1 qui place l’appel à urlify avant la désinfection, résolvant ainsi le problème immédiat du XSS.

En outre, nous avons mis en œuvre des changements pour renforcer la sécurité de l’application, qui sont pour la plupart déjà publiés ou le seront avec la prochaine mise à jour :

  • Utilisation d’un DOM fantôme pour le rendu des corps de mail, garantissant que les styles qui survivent à la désinfection ne fuient pas dans le reste de l’application.
  • Gérer le cas limite avec looksExecutable
  • Améliorer le CSP dans electron et restreindre les fichiers auxquels on peut accéder
  • Randomisation du nom du répertoire temporaire, afin de s’assurer que les emplacements des pièces jointes ne peuvent pas être prédits par un attaquant.

Veuillez noter qu’un renforcement supplémentaire de la sécurité dans une prochaine version nécessitera la suppression des index de recherche locaux sur les clients de bureau et les applications mobiles. Cet index est automatiquement recréé lors de votre prochaine recherche. Vérifiez ici comment améliorer vos résultats de recherche.

Clients affectés désactivés

Tous les clients concernés ont été désactivés. Nous n’avons connaissance d’aucun cas où un attaquant malveillant aurait tiré parti de ces vulnérabilités.

Il n’est pas nécessaire de changer votre mot de passe ou votre code de récupération. Toutefois, si vous décidez de le faire, veuillez lire notre recommandation sur la meilleure façon de protéger vos identifiants de connexion.

Transparence et sécurité

Chez Tutanota, nous pensons que la transparence et la sécurité sont étroitement liées. C’est pourquoi nous pensons qu’il est important de vous informer de cette vulnérabilité corrigée, également par e-mail.

Pour éviter que des problèmes similaires ne se reproduisent à l’avenir, nous avons pris les mesures suivantes :

  • Nous avons mis en œuvre plusieurs améliorations techniques dans Tutanota qui empêchent l’exploitation dans le cas peu probable de futures vulnérabilités XSS.
  • Nous avons ajouté des tests de régression pour ces améliorations à nos directives internes d’examen de la sécurité.
  • Nous avons mis l’accent sur les examens de sécurité des modifications apportées au traitement du contenu utilisateur dans le cadre de notre processus normal d’examen du code.

L’open source augmente le niveau de sécurité

Nous avons toujours souligné le fait que les outils open source sont plus sûrs que les applications closed source. Le code des clients open source peut être inspecté par la communauté de la sécurité pour s’assurer que le code est exempt de bogues, de vulnérabilités et de portes dérobées.

Bien que malheureuses, les vulnérabilités découvertes par Sonar prouvent que c’est effectivement vrai. Si le code source fermé peut présenter des problèmes similaires, les utilisateurs ne le découvriront peut-être jamais.

Nous tenons à remercier Sonar d’avoir divulgué de manière responsable la vulnérabilité de scripting intersite dans Tutanota 3.98.0.

Tous les problèmes signalés sont soumis à un délai de divulgation de 90 jours, après quoi Sonar a déclaré qu’elle rendrait publiques certaines parties du problème. Nous sommes heureux d’avoir pu corriger les problèmes signalés beaucoup plus rapidement, en fait en deux jours.

Dans notre communication par courrier électronique avec Sonar, le chercheur en vulnérabilité Paul Gerste a même déclaré : “Bravo à vous et à votre équipe, vous semblez prendre la sécurité de votre produit au sérieux !”

Nous sommes très heureux de ce retour d’un expert en sécurité. Il nous motive à travailler encore plus dur pour améliorer Tutanota !