如何分析Linux PIE/堆栈内存损坏漏洞CVE-2017-1000253

技术如何进行Linux PIE/stack 内存破坏漏洞CVE-2017-1000253分析本篇文章为大家展示了如何进行Linux PIE/stack 内存破坏漏洞CVE-2017-1000253分析,内容简明扼要并且容

本文向您展示了如何分析Linux PIE/堆栈内存损坏漏洞CVE-2017-1000253。内容简洁易懂,一定会让你眼前一亮。希望通过这篇文章的详细介绍,你能有所收获。

0x00 事件描述

2015年4月14日,Michael Davidson发现Pie(Position Independent executive,位置无关可执行文件)机制允许将部分应用程序的数据段放入保留内存区域,可能导致内存出界,从而导致权限解除,并在Linux源码树上提交了补丁a 87938 b2e 246 b 81 B4 bfb 713 EDB 371 a 9 fa3c 86。

同年5月,Linux 3 . 10 . 77版本更新了补丁,但是没有准确评估问题的重要性,所以很多发行版很长时间都没有更新补丁,导致漏洞一直存在。

2017年9月26日,OSS-SEC邮件列表发布了与此漏洞相关的信息,并指出漏洞号为CVE-2017-1000253。同时,相关受影响的Linux发行版也发布了与此漏洞相关的更新补丁。

经过360CERT评估,该漏洞具有较高的可利用风险等级,可用于Linux操作系统的恶意本地特权根。建议受影响的用户尽快完成相应的更新。

0x01 事件影响面

影响等级

漏洞等级高,影响范围广。

影响版本

-2017年9月13日之前发布的CentOS 7完整版(1708版之前)

-2017年8月1日前发布的红帽企业版Linux 7完整版(7.4版之前)

CentOS 6和红帽企业版Linux 6的所有版本

修复版本

内核3.10.0-693及更高版本

具体分布:

- Debian喘息3.2.71-1

- Debian jessie 3.16.7-ckt11-1

- Debian(不稳定)4.0.2-1

- SUSE Linux企业桌面12 SP2

- SUSE Linux企业桌面12 SP3

- SUSE Linux企业服务器12 GA

- SUSE Linux企业服务器12 SP1

- SUSE Linux企业服务器12 SP2

- SUSE Linux企业服务器12 SP3

-MRG红帽企业2 3.10.0-693.2.1.rt56.585.el6rt

-红帽企业版实时Linux 3 . 10 . 0-693 . rt56 . 617

0x02 漏洞信息

在Linux环境下,如果用“-pie”选项编译应用程序,那么load_elf_binary()会为其分配一个内存空间,但是load_elf_ binary()没有考虑为整个应用程序分配足够的空间,导致PT_LOAD段超过mm-mmap_base。在x86_64下,如果边界超过128MB,会覆盖程序的堆栈,可能导致权限提升。

内存越界的官方结果图:

如何进行Linux  PIE/stack  内存破坏漏洞CVE-2017-1000253分析

官方补丁提供的方法是计算并提供应用程序所需的空间量,以防止内存出界。

0x03 修复方案

强烈建议所有受影响的用户及时更新其安全性。选项如下:

1.相关的Linux发行版已经提供了安全更新。请在百胜或apt-get中更新它们。

2.自定义内核的用户,请下载相应的源代码补丁进行安全更新。

补丁地址:

https://git . kernel . org/pub/SCM/Linux/kernel/git/Torvalds/Linux . git/commit/?id=a 87938 B2 e 246 b 81 B4 FB 713 ed b 371 a9 fa 3 C5 C3 c 86

以上内容就是如何分析CVE-2017-1000253的Linux PIE/堆栈内存损坏漏洞。你学到什么知识或技能了吗?如果你想学习更多的技能或丰富你的知识,请关注行业信息渠道。

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

(0)

相关推荐

  • 轻松书写CSS的技巧有哪些

    技术轻松书写CSS的技巧有哪些这篇文章给大家介绍轻松书写CSS的技巧有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。书写CSS简单实用的8个技巧这篇文章主要帮助刚接触CSS的朋友,通过该文章,可

    攻略 2021年11月11日
  • Java学习笔记12——数据类型思考题

    技术Java学习笔记12——数据类型思考题 Java学习笔记12——数据类型思考题思考题1:
    请问以下代码有没有问题
    double b=12.34;
    float f=d;
    第二行代码错误。double转

    礼包 2021年11月30日
  • ADO.NET SqlConnection怎么使用

    技术ADO.NET SqlConnection怎么使用这篇文章主要讲解了“ADO.NET SqlConnection怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“

    攻略 2021年12月3日
  • 六允读什么,允字上部是什么字,读音是什么

    技术六允读什么,允字上部是什么字,读音是什么“允”字的拼音是yǔn六允读什么。
    1、允的解释:一是答应,认可;二是公平得当;三是信,实;四是宽容,理解;五是包容;六是大、极致。
    2、组词、解释及造句
    (1)允许(yǔnx

    生活 2021年10月25日
  • 坐便器品牌排行,孕妇坐便器的品牌有哪些呢

    技术坐便器品牌排行,孕妇坐便器的品牌有哪些呢1坐便器品牌排行、TOTO(东陶旗下,于1917年日本,十大座便器品牌,厨卫百强企业,东陶(中国)有限公司)2、箭牌-法恩莎(乐华陶瓷旗下,中国名牌,一线牌子,坐便器十大品牌,

    生活 2021年10月23日
  • C++11中和动态数组相关的新特性有哪些

    技术C++11中和动态数组相关的新特性有哪些本篇内容介绍了“C++11中和动态数组相关的新特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大

    攻略 2021年11月25日