近日,有研究员报告了exim的base64解码函数中的溢出漏洞,漏洞编号为cve-2018-6789。
风险描述
exim是一个mta(mail transfer agent,邮件传输代理)服务器软件,负责邮件的路由,转发和投递。该软件基于gpl协议开发,是一款开源软件。
这个造成远程代码执行的漏洞是一个字节缓冲溢出漏洞,存在于 exim 的base64解码功能中,由于b64decode函数中解码缓冲区长度的计算出现错误导致有一个字节溢出。
风险细节
通过一段代码直接看出exim分配一个3 *(len / 4) 1字节的缓冲区来存储解码后的base64数据。但是,当输入不是有效的base64字符串且长度为4n 3时,exim分配3n 1,但在解码时会占用3n 2个字节。这会导致一个字节溢出。
通常,这个错误并没有危害,因为内存覆盖通常是未使用的内存。但是,base64解码是一个基本功能,在很多功能代码中使用广泛,当字符串符合某些特定长度时,该字节就有可能覆盖一些关键数据。此外,虽然漏洞利用难度较高,但是这个字节是可控的,这使得远程代码执行变得更加可行。
受影响版本:exim version < 4.90.1
不受影响版本: exim version = 4.90.1
凯发登录的解决方案
1、exim版本升级至最新版4.90.1,官方可下载最新版本,链接为:
http://www.exim.org/mirrors.html(复制链接到浏览器)
2、按照官方的补丁方式,修改如下的代码,重新编译即可。
3、深信服云眼检测系统已同步更新针对此高危风险的检测功能,不清楚资产是否受影响的用户,可提交域名到云眼平台在线检测获取结果。
检测地址:
https://saas.sangfor.com.cn/src/anti-tamper/login.php?type=eyecloud(复制链接到浏览器)
- / 2020-02-15
- / 2020-02-14
- / 2020-02-15