Linux 底层函数库“glibc”再现重大安全漏洞,多个发行版受影响

华盟原创文章投稿奖励计划

  漏洞的详细发现过程可以参见Google的博客 。(题外话,Google 的工程师都真牛)

  漏洞描述:

  漏洞成因在于DNS Server Response返回过量的(2048 ) 字节, 导致接下来的response 触发栈溢出

  The vulnerability relies on an oversized (2048 bytes) UDP or TCP response, which is followed by another response that will overwrite the stack.

  影响范围:

  所有Debian 系列、Red Hat 系列的linux 发行版,只要glibc 版本大于2.9 就会受到影响。

  目前Google 已提供了POC,据Google 博客中所述,该漏洞应该是可以绕过内存防护技术,从而形成代码执行漏洞。

         Linux 底层函数库“glibc”再现重大安全漏洞,多个发行版受影响

  POC 使用测试

  POC 地址:github.com/fjserna/CVE-2015-7547

  我在自己的本地 lubuntu 上进行测试,libc 版本为 2.19。lubuntu系列也属于Debian 的一个发行版,故理论上满足漏洞条件。

  测试过程如下:

  根据漏洞描述,我们可以做一个假的DNS Server 作为中间人,来验证该漏洞。

  更改DNS 解析为 127.0.0.1,刷新DNS 缓存 sudo /etc/init.d/nscd restart 执行 CVE-2015-7547-poc.py , 注意无需更改 ip_addr 。编译 CVE-2015-7547-client.c , 执行CVE-2015-7547-client

  若含有漏洞,会造成Segmentation Fault。

        Linux 底层函数库“glibc”再现重大安全漏洞,多个发行版受影响

  由于gilbc 2.9 是在2008年发行的,所以大量Linux 系统都会受到该漏洞影响。若一旦绕过内存防护技术,则该漏洞可以成为一大杀器。被劫持的DNS server进行中间人攻击,可直接批量获取大量主机权限。

  修复方案:

  1) 打patch,可参考官方介绍

  参考文献:

  https://googleonlinesecurity.blogspot.ca/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html?m=1

  https://isc.sans.edu/diary/CVE-2015-7547: Critical Vulnerability in glibc getaddrinfo/20737

原文地址:https://exploits.77169.com/2016/20160221073251.shtm

本文原创,作者:华盟君,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/22068.html

发表评论