Se ha corregido una vulnerabilidad de secuencias de comandos entre sitios.

La vulnerabilidad XSS se solucionó dos días después de la notificación.

Focus on security: Fixed vulnerability within two days.

El 22 de junio fuimos informados de una vulnerabilidad de Cross-Site Scripting (XSS) en todos los clientes de Tutanota. Inmediatamente empezamos a trabajar en una solución, que se publicó dos días después. Ahora, todas las versiones afectadas de Tutanota han sido deshabilitadas y nos gustaría informarle sobre el problema para una total transparencia.


¿Qué ha pasado?

El 22 de junio de 2022 recibimos un aviso de seguridad de Paul Gerste, de Sonar, informándonos de una vulnerabilidad de cross-site scripting (XSS) en Tutanota que afectaba a todos los clientes, y una vulnerabilidad de ejecución remota de código (RCE) que afectaba sólo a los clientes de escritorio. Ambas vulnerabilidades han sido corregidas inmediatamente y se ha publicado un parche en la versión 3.98.1 el 24 de junio de 2022.

La vulnerabilidad XSS permitía a un atacante extraer información de Tutanota mediante la elaboración de un correo electrónico malicioso que pudiera saltarse nuestra desinfección, haciendo que se inyectara código JavaScript extraño en la aplicación y se ejecutara. La vulnerabilidad RCE permitía a un atacante ejecutar programas en el sistema de un usuario a través del cliente de escritorio (esto se demostró utilizando Windows, pero puede haber sido posible en otros sistemas operativos), en el que se aprovechan del XSS y lo utilizan para descargar y ejecutar un archivo adjunto malicioso.

¿Qué medidas hemos tomado?

Dos días después de ser informados de las vulnerabilidades, hemos publicado un parche en la versión 3.98.1 que antepone la llamada urlify a la sanitización, solucionando el problema inmediato del XSS.

Además, hemos implementado cambios para endurecer la seguridad de la aplicación, que en su mayoría ya han sido liberados o lo serán con la próxima actualización:

  • Uso de un DOM en la sombra para renderizar los cuerpos de los correos, asegurando que cualquier estilo que de alguna manera sobreviva a la sanitización no se filtre al resto de la aplicación
  • Manejar el caso de borde con looksExecutable
  • Mejora de CSP en electron y restricción de los archivos a los que se puede acceder
  • Aleatorizar el nombre del directorio temporal, para asegurar que las ubicaciones de los archivos adjuntos no puedan ser predichas por un atacante

Tenga en cuenta que un endurecimiento adicional de la seguridad en una próxima versión requerirá que se eliminen los índices de búsqueda local en los clientes de escritorio y las aplicaciones móviles. Este índice se volverá a crear automáticamente con la siguiente búsqueda. Consulta aquí cómo mejorar los resultados de tus búsquedas.

Clientes afectados desactivados

Todos los clientes afectados han sido desactivados. No tenemos conocimiento de ninguna incidencia en la que un atacante malintencionado se haya aprovechado de estas vulnerabilidades.

No es necesario cambiar la contraseña o el código de recuperación. Sin embargo, si decide hacerlo, lea nuestra recomendación sobre cómo proteger mejor sus credenciales de acceso.

Transparencia y seguridad

En Tutanota creemos que la transparencia y la seguridad están estrechamente relacionadas. Por eso creemos que es importante que te informemos sobre esta vulnerabilidad corregida, también por correo electrónico.

Para evitar problemas similares en el futuro, hemos tomado las siguientes medidas:

  • Hemos implementado varias mejoras técnicas en Tutanota que evitan la explotación en el improbable caso de futuras vulnerabilidades XSS.
  • Hemos añadido pruebas de regresión para estas mejoras a nuestras directrices internas de revisión de seguridad.
  • Hicimos hincapié en las revisiones de seguridad de los cambios en el manejo del contenido de los usuarios como parte de nuestro proceso normal de revisión de código.

El código abierto aumenta el nivel de seguridad

Siempre hemos insistido en el hecho de que las herramientas de código abierto son más seguras que las aplicaciones de código cerrado. El código de los clientes de código abierto puede ser inspeccionado por la comunidad de seguridad para asegurarse de que el código está libre de errores, vulnerabilidades y puertas traseras.

Aunque es lamentable, las vulnerabilidades encontradas por Sonar demuestran que esto es realmente cierto. Mientras que el código cerrado puede tener problemas similares, los usuarios podrían no enterarse nunca de esto.

Nos gustaría dar las gracias a Sonar por revelar de forma responsable la vulnerabilidad de secuencias de comandos entre sitios en Tutanota 3.98.0.

Todos los problemas reportados estaban sujetos a un plazo de divulgación de 90 días, después del cual Sonar dijo que haría públicas algunas partes del problema. Nos alegramos de haber podido arreglar los problemas abordados mucho más rápido, de hecho en dos días.

En nuestra comunicación por correo electrónico con el Sónar, el investigador de vulnerabilidades Paul Gerste llegó a decir: “¡Felicidades a vosotros y a vuestro equipo, parece que os tomáis en serio la seguridad de vuestro producto!”

Estamos muy contentos con este comentario de un experto en seguridad. Nos motiva a trabajar aún más en la mejora de Tutanota.