如何进行cve - 2018 - 6789 -进出口缓冲区溢出漏洞分析

介绍

本篇文章为大家展示了如何进行cve - 2018 - 6789 -进出口缓冲区溢出漏洞分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

<强> 0 x00漏洞背景

2018年2月5日,DEVCORE团队的安全研究员Meh向exim-security邮件组披露了进出口存在一处缓冲区溢出漏洞,编号为cve - 2018 - 6789,影响进出口4.90.1以下所有版本,并且可能造成远程代码执行。

根据360 cert全网资产检索平台,截止2018年3月7日检索的结果表明全球有超过一百万台服务器上运行着进出口,影响范围广,危害严重。

全球的影响分布图如下:

如何进行cve - 2018 - 6789 -进出口缓冲区溢出漏洞分析

<强> 0 x01漏洞影响

影响进出口4.90.1以下所有版本

<强> 0 x02漏洞分析

漏洞发生在/src/base64。c的b64decode函数中:

如何进行cve - 2018 - 6789 -进出口缓冲区溢出漏洞分析

根据代码可知,进出口分配了3 * (len/4) + 1个字节的空间来存储base64解密后的数据。如果传入的加密数据长度len=4 n + 3时,进出口分配的空间则为3 n + 1。但是根据base64加密的原理,4 n + 3长度的加密数据会解密成3 n + 2长度的数据。此时就会发生缓冲区溢出,溢出一个字节单位的数据。

base64解密在传输数据中十分普遍,所以该漏洞容易触发,并且Meh已经公布了远程代码执行攻击的思路,不排除之后出现该漏洞被大量利用的可能。

<强> 0 x03补丁分析

如何进行cve - 2018 - 6789 -进出口缓冲区溢出漏洞分析

补丁其实是多分配了一个字节的空间来存储解密后的数据,避免了溢出。

<强> 0 x04修复建议

360 CERT建议相关用户及时下载官方的修复补丁,或者更新到4.90.1版本。

上述内容就是如何进行cve - 2018 - 6789 -进出口缓冲区溢出漏洞分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

如何进行cve - 2018 - 6789 -进出口缓冲区溢出漏洞分析