Exim远程代码执行漏洞安全通告
发布时间 2019-09-09●漏洞编号和级别
CVE编号:CVE-2019-15846,危险级别:严重,CVSS分值:9.8
●影响版本
受影响的版本
Exim < 4.92.2版本
●漏洞概述
Exim是基于GPL协议的开放源代码软件,由英国剑桥大学的Philip Hazel开发。Exim是一个运行于Unix系统中的开源消息传送代理(MTA),它主要负责邮件的路由、转发和投递。Exim可运行于绝大多数的类UNIX系统上,包括了Solaris、AIX、Linux等。
受影响的Exim版本中的SMTP传递过程具有缓冲区溢出。在默认的运行时配置中,可以在TLS协商期间利用精心设计的ServerName Indication(SNI)数据进行利用。
SNI是一种TLS协议组件,旨在使服务器能够提供不同的TLS证书,以验证和保护与同一IP地址后面的网站的连接。
当Exim支持TLS时,攻击者发送以'\0'结束的SNI,此时string_unprinting函数调用string_interpret_escape函数处理转义序列,由于string_interpret_escape函数中没有处理'\0'的情况,造成了越界读取。该错误允许本地或未经身份验证的远程攻击者在接受TLS连接的服务器上执行具有root权限的程序。
该漏洞影响Exim 4.92.2以下版本,数百万台 Exim 服务器易受该漏洞影响。使用Shodan搜索引擎为互联网连接设备生成的报告估计服务器数量约为5,250,000,超过3,500,000使用Exim 4.92和超过74,000运行4.92.1。Exim使用的版本状况如图所示:

其中Exim使用老版本SSL协议数量比较多,而且有一部分的SSL证书已经过期。如图所示:


●漏洞验证
暂无POC/EXP。
●修复建议
建议用户立即升级到4.92.2版本,下载链接如下:
https://github.com/Exim/exim/releases/tag/exim-4.92.2
缓解措施:
如不能立即升级,建议通过exim的acl_smtp_mail配置如下规则:

●参考链接
https://www.bleepingcomputer.com/news/security/critical-exim-tls-flaw-lets-attackers-remotely-execute-commands-as-root/


京公网安备11010802024551号