这篇博客文章已有4年历史,可能已经过时。
Mullvad 应用程序和服务器未受 OpenSSL CVE-2020-1967 影响
2020年4月21日
在4月14日,我们收到通知说一个安全漏洞将于今天发布,详细信息可见于 https://mta.openssl.org/pipermail/openssl-
announce/2020-April/000170.html。
由于此漏洞的严重性被评估为高,我们开始调查我们服务的哪些部分可能会受到影响。我们进行了以下操作:
- 在我们的服务器页面 https://mullvad.net/servers/#/ 上发布了通知,提醒用户上周有短暂的服务器停机,以便用户提前做好准备。同时,我们计划对 OpenVPN 进行升级,并进行其他改进。
- 如有必要,我们做好了发布修复 OpenSSL 版本的 Mullvad VPN 应用程序的新版本的准备。
- 我们准备在 Debian 和 Ubuntu 的软件库中,一旦有未受影响版本可用,立即部署我们的服务器。
今天,OpenSSL 项目发布了安全通告 https://www.openssl.org/news/secadv/20200421.txt,内容为
CVE-2020-1967。很明显,此漏洞最严重的情况仅限于恶意 TLS 客户端或服务器导致的服务拒绝攻击。此外,此漏洞只影响 OpenSSL 版本
1.1.1d、1.1.1e 和 1.1.1f。
对应用程序没有影响
Mullvad VPN 应用程序在三个地方使用 OpenSSL,包括 OpenVPN、Shadowsocks 和与我们的 API 服务器通信时。
OpenVPN 和 Shadowsocks 都作为守护进程的子进程运行。此漏洞本身是一个空指针解引用,只会导致触发漏洞的进程崩溃。这意味着如果在
OpenVPN 或 Shadowsocks中触发此漏洞,子进程将崩溃/退出。守护进程会将其视为正常的连接中断,进行清理并建立新的隧道,同时通过防火墙保持系统安全。
与我们 API 服务器通信的守护进程部分不会调用具有空指针解引用漏洞的函数(SSL_check_chain),因此无法触发该漏洞。
对基础设施的影响
我们仅在少量服务器上使用受影响版本的 OpenSSL,目的是为我们的内部基础设施报告系统指标。我们所有其他服务器,包括 OpenVPN 和
Wireguard VPN 中继,以及我们的 API 和网站,均未受影响。
总之,此漏洞不会影响我们任何面向公众的基础设施,对于我们的内部基础设施,监控服务器的访问仅限于我们内部的服务器。
我们将按计划对 OpenVPN 进行上述升级,并升级我们用于服务器指标的 OpenSSL 版本。我们预计在2020年4月24日(星期五)或之前完成这项工作。