如何分析CVE-2018-6789Exim缓冲区溢出漏洞

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

本文向您展示了如何分析CVE-2018-6789Exim缓冲区溢出漏洞。内容简洁易懂,一定会让你大放异彩。希望通过这篇文章的详细介绍,你能有所收获。

0x00 漏洞背景

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

据360CERT全网资产检索平台显示,截至2018年3月7日,检索结果显示全球运行Exim的服务器超过百万台,影响范围广,危害严重。

全球影响分布图如下:

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

0x01漏洞影响

影响 Exim 4.90.1 以下所有版本

0x02 漏洞分析

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

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

根据代码,exim分配3*(len/4) 1字节的空间来存储base64解密的数据。如果传入的加密数据长度len=4n 3,则exim分配的空间为3n 1。但是,根据base64加密原理,4n 3加密数据将被解密为3n 2加密数据。此时,将发生缓冲区溢出,溢出一个字节的数据。

Base64解密在数据传输中非常常见,所以这个漏洞很容易被触发,而且Meh已经宣布了远程代码执行攻击的想法,不排除这个漏洞在未来被广泛利用的可能性。

0x03补丁分析

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

事实上,补丁会额外分配一个字节的空间来存储解密的数据,从而避免溢出。

00-1010

0x04 修复建议

以上内容是如何分析CVE-2018-6789Exim缓冲区溢出漏洞的。你学到什么知识或技能了吗?如果你想学习更多的技能或丰富你的知识,请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/153815.html

(0)

相关推荐

  • C++中为什么不要在一条语句内声明类或枚举值的同时又定义该类型的变量

    技术C++中为什么不要在一条语句内声明类或枚举值的同时又定义该类型的变量这篇文章主要讲解了“C++中为什么不要在一条语句内声明类或枚举值的同时又定义该类型的变量”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小

    攻略 2021年11月29日
  • C++对象模型之RTTI的实现原理是什么

    技术C++对象模型之RTTI的实现原理是什么本篇内容介绍了“C++对象模型之RTTI的实现原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大

    攻略 2021年10月26日
  • 兼职翻译,英语兼职翻译一般都什么水平

    技术兼职翻译,英语兼职翻译一般都什么水平之前在公司上班的时候兼职翻译,公司的兼职遍布各行各业,其中有个很厉害的公务员兼职,每个月做稿量10万+,甩开一片专职译员。提高英语能力方法和资料都太多了,具体到个人就是只有不断的练

    2021年10月30日
  • 对孩子的期望和鼓励的话,父母对孩子的期望寄语初中生

    技术对孩子的期望和鼓励的话,父母对孩子的期望寄语初中生1家长对初中孩子的期望 1.愿你是一棵树:春天对孩子的期望和鼓励的话,吐一山淡淡的香味;夏天,洒一抹如泉的凉荫;秋天,举一树甜甜的青果;冬天,做一个养精蓄锐的好梦!

    生活 2021年10月21日
  • Hibernate如何实现拦截器与监听器

    技术Hibernate如何实现拦截器与监听器这篇文章将为大家详细讲解有关Hibernate如何实现拦截器与监听器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。拦截器与事件都是Hiber

    攻略 2021年12月8日
  • QT5中怎么使用SQLite

    技术QT5中怎么使用SQLite本篇内容介绍了“QT5中怎么使用SQLite”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

    攻略 2021年11月30日