Stack Clash漏洞:可提权Unix/Linux系统-阿里云开发者社区

开发者社区> 开发与运维> 正文

Stack Clash漏洞:可提权Unix/Linux系统

简介:

 Stack Clash(编号:CVE-2017-1000364),是Linux、BSD、Solaris和其他开源系统中提升本地权限的漏洞。攻击者可利用Stack Clash破坏这些操作系统的内存管理,攻击者可利用它破坏内存并执行任意代码。这种本地权限升级安全漏洞还会给服务器主机提供商构成严重的威胁,原因在于只要一个客户能钻这个漏洞的空子,就可以控制在同一台服务器上运行的其他客户进程。

本地权限提升影响多个系统

目前,已有针对Linux和开源distros的安全补丁,在i386或amd64上运行Linux,OpenBSD,NetBSD,FreeBSD或Solaris的系统应立即更新。

Stack Clash漏洞:可提权Unix/Linux系统-E安全

专家警告称攻击者可能以这个漏洞来寻找其他漏洞,以便获得最高权限执行任意代码。

该漏洞由Qualys研究者发现,他们找到了七种利用该漏洞的可能,并给出了理论依据。并将这一研究过程称为‘本地权限提升’:

通过其中任意一种方式进入到受破坏系统的攻击者都可以利用Stack Clash漏洞,并获得最高权限。

该堆栈是程序运行时的内存区域,当程序需要更多堆栈内存时,它就会自动增加。如果这个区域增加过多,就会干扰到其他进程的堆栈,也就是说,攻击者可以人为操控该区域的内存增长以覆盖其他内存区域。

为什么叫做Stack Clash?

”利用该漏洞的第一个步骤就是通过另一个内存区域来造成内存冲突。所以才有了这个名称。”分析指出,攻击者会绕过Linux在2010年部署的堆栈保护。

利用该漏洞的理论依据如下:

用另一个内存区域造成堆栈冲突:我们在实验堆栈到达另一个堆栈区域前或另一个内存区域到达实验堆栈前进行了内存配置。

跳过堆栈保护:将堆栈指示器从实验堆栈移动到了另一个内存区域,期间无需访问堆栈保护。

破坏堆栈或另一个堆栈:用另一个内存区域覆盖了实验堆栈,反之亦然。

可远程利用漏洞吗?

研究者们尚不知晓任何可远程利用该漏洞的应用,不过,他们不排除可远程利用Stack Clash漏洞的可能。

E安全建议

为避免攻击,E安全推荐将堆栈保护的容量至少扩充到1M,以做紧急防护。建议用fstack-check选项将所有用户区间的代码重新编译,以防止堆栈指示器被移至另一个内存区域。



本文转自d1net(转载)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章