Linux底层函数库“glibc”再现重大安全漏洞

www.net130.com     日期:2016-3-14    浏览次数:
出处:杜美洁整理

近日,Google 的安全研究团队披露了glibc getaddrinfo溢出漏洞。经研究发现,所有Debian、Red Hat以及更多其它Linux发行版,只要glibc版本大于2.9就会受到该溢出漏洞影响。攻击者可以通过该漏洞直接批量获取大量主机权限。

Linux底层函数库“glibc”再现重大安全漏洞

关于漏洞的详细发现过程,请移步Google的博客 。

百科:glibc是什么?

glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万象。而就像其他的 UNIX 系统一样,其内含的档案群分散于系统的树状目录结构中,像一个支架一般撑起整个操作系统。在GNU/Linux 系统中,其C函式库发展史点出了GNU/Linux 演进的几个重要里程碑,用 glibc 作为系统的C函式库,是GNU/Linux演进的一个重要里程碑。

 

漏洞的成因及POC使用测试 

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

目前,Google已提供了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。

 (图片来自乌云安全中心)

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

修复方案: 打patch,详见官方介绍

本新闻共2页,当前在第1页  1  2  

分享道
相关新闻