本文向您展示了如何分析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,会覆盖程序的堆栈,可能导致权限提升。
内存越界的官方结果图:
官方补丁提供的方法是计算并提供应用程序所需的空间量,以防止内存出界。
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