Vulnerabilidade de guiões cruzados corrigida.

A vulnerabilidade do XSS foi corrigida no prazo de dois dias após a notificação.

2022-07-28
Focus on security: Fixed vulnerability within two days.
A 22 de Junho fomos informados sobre uma vulnerabilidade de Cross-Site Scripting (XSS) em todos os clientes Tutanota. Começámos imediatamente a trabalhar numa correcção, que foi publicada dois dias mais tarde. Agora, todas as versões afectadas de Tutanota foram desactivadas e gostaríamos de o informar sobre a questão para uma transparência total.

O que aconteceu?

A 22 de Junho de 2022 recebemos um aviso de segurança de Paul Gerste, Sonar, informando-nos de uma vulnerabilidade de scripting (XSS) em Tutanota que afectava todos os clientes, e uma vulnerabilidade de execução de código remoto (RCE) que afectava apenas os clientes desktop. Ambas as vulnerabilidades foram corrigidas imediatamente e uma correcção foi lançada na versão 3.98.1 em 24 de Junho de 2022.

A vulnerabilidade XSS permitiu a um atacante extrair informação de Tutanota através da elaboração de um e-mail malicioso que seria capaz de contornar a nossa sanitização, fazendo com que o código JavaScript estrangeiro fosse injectado na aplicação e executado. A vulnerabilidade RCE permitiu a um atacante executar programas no sistema de um utilizador através do cliente desktop (isto foi demonstrado utilizando Windows, mas pode ter sido possível noutros sistemas operativos), nos quais se aproveitam do XSS e o utilizam para descarregar e executar um anexo malicioso.

Que acções foram tomadas?

Dois dias após termos sido informados sobre as vulnerabilidades, lançámos um patch na versão 3.98.1 que coloca a chamada urlify antes da sanitização, resolvendo o problema imediato do XSS.

Além disso, implementámos alterações para endurecer a segurança da aplicação, que na sua maioria já foram ou serão lançadas com a próxima actualização:

  • Utilizando um DOM-sombra para renderizar corpos de correio, assegurando que quaisquer estilos que, de alguma forma, sobrevivam à sanitização, não irão vazar para o resto da aplicação

  • Manuseamento da caixa de aresta com aspectoExecutable

  • Melhorar o CSP no electrão e restringir quais os ficheiros que podem ser acedidos

  • Randomização do nome do directório temporário, para garantir que os locais de fixação não possam ser previstos por um atacante

Tenha em atenção que um endurecimento adicional da segurança num próximo lançamento exigirá que os índices de pesquisa locais sejam eliminados nos clientes desktop e nas aplicações móveis. Este índice é automaticamente criado novamente com a sua próxima pesquisa. Verifique aqui como melhorar os resultados da sua pesquisa.

Clientes afectados desactivados

Todos os clientes afectados foram incapacitados. Não temos conhecimento de qualquer incidência onde um atacante malicioso tenha tirado partido destas vulnerabilidades.

Não é necessário alterar a sua palavra-passe ou código de recuperação. No entanto, se decidir fazê-lo, leia a nossa recomendação sobre a melhor forma de proteger as suas credenciais de login.

Transparência e segurança

Na Tutanota acreditamos que a transparência e a segurança estão estreitamente interligadas. É por isso que acreditamos ser importante que o informemos sobre esta vulnerabilidade fixa, também através do correio electrónico.

Para evitar questões semelhantes no futuro, tomámos as seguintes medidas:

  • Implementámos várias melhorias técnicas em Tutanota que impedem a exploração na improvável eventualidade de futuras vulnerabilidades XSS.

  • Acrescentámos testes de regressão para estas melhorias às nossas directrizes de revisão de segurança interna.

  • Enfatizámos as revisões de segurança das alterações ao tratamento do conteúdo do utilizador como parte do nosso processo normal de revisão do código.

O Código Aberto aumenta o nível de segurança

Sempre sublinhámos o facto de que as ferramentas de fonte aberta são mais seguras do que as aplicações de fonte fechada. O código dos clientes de código aberto pode ser inspeccionado pela comunidade de segurança para garantir que o código está livre de bugs, vulnerabilidades e backdoors.

Embora infelizes, as vulnerabilidades encontradas pelo Sonar provam que isto é realmente verdade. Embora o código fonte fechado possa ter problemas semelhantes, os utilizadores podem nunca vir a descobrir isto.

Gostaríamos de agradecer ao Sonar por revelar de forma responsável a vulnerabilidade de scripting no Tutanota 3.98.0.

Todas as edições relatadas estavam sujeitas a um prazo de divulgação de 90 dias, após o qual o Sonar disse que tornaria públicas partes da edição. Estamos satisfeitos por termos conseguido resolver as questões abordadas muito mais rapidamente, de facto, no prazo de dois dias.

Na nossa comunicação por e-mail com o Sonar, o investigador de vulnerabilidade Paul Gerste disse mesmo "Parabéns a si e à sua equipa, parecem levar a sério a segurança do vosso produto"!

Estamos muito satisfeitos com este feedback de um perito em segurança. Motiva-nos a trabalhar ainda mais para melhorar a Tutanota!