危害几十万邮件服务器的漏洞暴露,某公司发布检测方案
近日,有研究员报告了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(复制链接到浏览器) |