最近,在初夏,由于 CVE-4.92-2019 漏洞,人们广泛呼吁将 Exim 更新到版本 10149(
现在所有紧急更新的人又可以“欢欣鼓舞”了:21 年 2019 月 XNUMX 日,研究人员 Zerons 发现了一个严重漏洞 使用 TLS 时的 Exim 邮件传输代理 (MTA) 对于版本来自 4.80到4.92.1 包容性,允许远程 以特权执行代码 (
漏洞
在建立安全 TLS 连接时同时使用 GnuTLS 和 OpenSSL 库时会存在该漏洞。
据开发人员 Heiko Schlittermann 介绍,Exim 中的配置文件默认不使用 TLS,但许多发行版在安装过程中创建必要的证书并启用安全连接。 较新版本的 Exim 也安装了该选项 tls_advertise_hosts=* 并生成必要的证书。
取决于配置。 大多数发行版默认启用它,但 Exim 需要证书+密钥才能充当 TLS 服务器。 发行版可能会在安装过程中创建一个证书。 较新的 Exim 具有默认为“*”的 tls_advertise_hosts 选项,并创建一个自签名证书(如果未提供)。
该漏洞本身在于对 SNI(服务器名称指示,一项于 2003 年在 RFC 3546 中引入的技术,用于客户端请求正确的域名证书的技术)的错误处理,
Qualys 的研究人员在 string_printing(tls_in.sni) 函数中发现了一个错误,其中涉及“”的错误转义。 结果,反斜杠被未转义地写入打印假脱机头文件中。 然后 spool_read_header() 函数以特权权限读取该文件,这会导致堆溢出。
值得注意的是,目前,Exim 开发人员已经通过在远程易受攻击的服务器上执行命令来创建漏洞 PoC,但尚未公开。 由于该漏洞很容易被利用,这只是时间问题,而且时间很短。
Qualys 的更详细研究可以参见
在 TLS 中使用 SNI
潜在易受攻击的公共服务器数量
根据大型托管提供商的统计 亿软公司 截至1月4.92日,在租用服务器上,超过70%的主机使用XNUMX版本。
版本
服务器数量
百分之
4.92.1
6471
1.28%
4.92
376436
74.22%
4.91
58179
11.47%
4.9
5732
1.13%
4.89
10700
2.11%
4.87
14177
2.80%
4.84
9937
1.96%
其他版本
25568
5.04%
E-Soft Inc 公司统计
如果您使用搜索引擎
- 约 3,500,000 人使用 Exim 4.92(约 1,380,000 人使用 SSL/TLS);
- 超过 74,000 人使用 4.92.1(约 25,000 人使用 SSL/TLS)。
因此,公开已知且可访问的 Exim 潜在易受攻击的服务器数量约为 1.5万元.
在 Shodan 中搜索 Exim 服务器
保护
- 最简单但不推荐的选项是不使用 TLS,这将导致电子邮件以明文形式转发。
- 为了避免该漏洞被利用,最好更新到该版本
Exim 互联网邮件程序 4.92.2 . - 如果无法更新或安装修补版本,您可以在 Exim 配置中为该选项设置 ACL acl_smtp_邮件 遵循以下规则:
# to be prepended to your mail acl (the ACL referenced # by the acl_smtp_mail main config option) deny condition = ${if eq{}{${substr{-1}{1}{$tls_in_sni}}}} deny condition = ${if eq{}{${substr{-1}{1}{$tls_in_peerdn}}}}
来源: habr.com