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

免费建站   2024年05月10日 14:41  

本篇文章为大家展示了如何进行Linux / 内存破坏漏洞CVE-2017-1000253分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

0x00 事件描述

2015年4月14日,Michael Davidson发现 PIE(Position Independent Executable)机制允许将一部分应用程序的数据段放置在超过预留的内存区域,可能会造成内存越界,进而导致提权,并在Linux Source Tree上提交了补丁a87938b2e246b81b4fb713edb371a9fa3c5c3c86。

同年5月, 3.10.77版本更新了该补丁,但是并没有对该问题的重要性作出准确的评估,故许多发行版很长一段时间里没有更新该补丁,导致漏洞一直存在。

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

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

0x01 事件影响面

影响等级

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

影响版本

- 2017年09月13日前发行的 CentOS 7 全版本(版本1708前)

- 2017年08月01日前发行的 Red Hat Enterprise Linux 7 全版本(版本7.4前)

- 所有版本的CentOS 6 和 Red Hat Enterprise Linux 6

修复版本

Kernel 3.10.0-693 以及之后的版本

具体的发行版:

- Debian wheezy 3.2.71-1

- Debian jessie 3.16.7-ckt11-1

- Debian (unstable) 4.0.2-1

- SUSE Linux Enterprise Desktop 12 SP2

- SUSE Linux Enterprise Desktop 12 SP3

- SUSE Linux Enterprise Server 12 GA

- SUSE Linux Enterprise Server 12 SP1

- SUSE Linux Enterprise Server 12 SP2

- SUSE Linux Enterprise Server 12 SP3

- Red Hat Enterprise MRG 2 3.10.0-693.2.1.rt56.585.el6rt

- Red Hat Enteprise Linux for Realtime 3.10.0-693.rt56.617

0x02 漏洞信息

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

官方提供的内存越界的结果图:

官方补丁提供的方法是计算并提供应用程序所需要的空间大小,来防止内存越界。

0x03 修复方案

强烈建议所有受影响用户,及时进行安全更新,可选方式如下:

1. 相关Linux发行版已经提供了安全更新,请通过 yum 或 apt-get 的形式进行安全更新。

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

补丁地址:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a87938b2e246b81b4fb713edb371a9fa3c5c3c86

上述内容就是如何进行Linux PIE/stack 内存破坏漏洞CVE-2017-1000253分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部