如何分析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)

相关推荐

  • 如何掌握函数式编程

    技术如何掌握函数式编程这篇文章主要介绍“如何掌握函数式编程”,在日常操作中,相信很多人在如何掌握函数式编程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何掌握函数式编程”的疑惑有所帮助!

    攻略 2021年10月27日
  • sqliteselect详解(sqlite语句)

    技术SQLite中SELECT基本形式是什么这篇文章将为大家详细讲解有关SQLite中SELECT基本形式是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SQLite中SELECT

    攻略 2021年12月18日
  • debug Q命令如何退出debug

    技术debug Q命令如何退出debug本篇文章给大家分享的是有关debug Q命令如何退出debug,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。   

    攻略 2021年11月11日
  • mysql小数可用的类型有哪些

    技术mysql小数可用的类型有哪些小编给大家分享一下mysql小数可用的类型有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年12月1日
  • 伤害英语,几个关于伤害的英语词汇的区别

    技术伤害英语,几个关于伤害的英语词汇的区别damage: 指部分性的损坏,意味着损坏后价值降低,有损于功能、吸引力及效率降低伤害英语。 destroy 指完全彻底的破坏,常有不能或很难修复的意思。
    harm: 较为通俗

    生活 2021年10月24日
  • 省略的拼音,举例说明ü上两点的省略规律

    技术省略的拼音,举例说明ü上两点的省略规律y和u不会相遇,ü遇到y要去两点,读音不变!ü遇到j、q、x、y去掉上面的点。拼读规则:ü行的韵母跟声母j,q,x拼的时候,写成ju,qu,xu,jue,que,xue,ü上两点

    生活 2021年10月23日