发生了什么?
2022年6月22日,我们收到来自Sonar公司Paul Gerste的安全通告,通知我们Tutanota存在跨站脚本(XSS)漏洞,影响到所有客户端,还有一个远程代码执行(RCE)的漏洞,只影响到桌面客户端。这两个漏洞已被立即修复,并在2022年6月24日发布了3.98.1版本的补丁。
XSS漏洞使攻击者能够通过制作恶意邮件从Tutanota提取信息,这将能够绕过我们的消毒,导致外国的JavaScript代码被注入到应用程序并执行。RCE漏洞使攻击者能够通过桌面客户端在用户的系统上执行程序(这是用Windows演示的,但在其他操作系统上也有可能),他们利用XSS并使用它来下载和执行一个恶意的附件。
我们采取了什么行动?
在被告知这些漏洞的两天后,我们在3.98.1版本中发布了一个补丁,将urlify的调用放在消毒之前,修复了XSS的直接问题。
此外,我们还实施了一些变化,以加强应用程序的安全性,这些变化大多已经发布或将在下一次更新中发布。
- 使用影子DOM来渲染邮件正文,确保任何以某种方式幸存下来的样式不会泄漏到应用程序的其他部分。
- 用looksExecutable处理边缘情况
- 改进电子版的CSP,限制哪些文件可以被访问
- 随机化临时目录的名称,以确保攻击者无法预测附件的位置。
请注意,在即将发布的版本中,一个额外的安全加固将要求删除桌面客户端和移动应用程序上的本地搜索索引。这个索引会在你下次搜索时自动重新创建。在此查看如何改善你的搜索结果。
受影响的客户端被禁用
所有受影响的客户端已经被禁用。我们没有发现任何恶意攻击者利用这些漏洞的事件。
不需要改变你的密码或恢复代码。然而,如果你决定这样做,请阅读我们关于如何最好地保护你的登录凭证的建议。
透明度和安全性
在Tutanota,我们相信透明度和安全性是紧密相连的。这就是为什么我们认为重要的是,我们通知你这个固定的漏洞,也通过电子邮件。
为了防止在未来出现类似的问题,我们采取了以下措施。
- 我们在Tutanota实施了几项技术改进,防止在未来不太可能发生的XSS漏洞的利用。
- 我们在内部安全审查准则中增加了对这些改进的回归测试。
- 我们强调对处理用户内容的变化进行安全审查,作为我们正常代码审查过程的一部分。
开放源代码提高了安全水平
我们一直强调开放源码工具比封闭源码应用更安全的事实。开源客户端的代码可以由安全社区检查,以确保代码没有错误、漏洞和后门。
虽然很不幸,但Sonar发现的漏洞证明这实际上是真的。虽然闭源代码可能有类似的问题,但用户可能永远不会发现这一点。
我们要感谢Sonar负责任地披露了Tutanota 3.98.0的跨站脚本漏洞。
所有报告的问题都有90天的披露期限,之后Sonar表示他们会公开问题的部分内容。我们很高兴,我们能够更快地修复已解决的问题,实际上是在两天之内。
在我们与Sonar的电子邮件沟通中,漏洞研究员Paul Gerste甚至说:“为你们和你们的团队点赞,你们似乎很重视你们产品的安全性!“
我们对来自安全专家的这种反馈感到非常高兴。它激励我们更加努力地改进Tutanota!