一、漏洞相关资料
google security团队发现报告
https://googleonlinesecurity.blogspot.tw/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html
权威分析
https://sourceware.org/ml/libc-alpha/2016-02/msg00416.html
redhat 报告
https://access.redhat.com/security/cve/cve-2015-7547
总结:漏洞后果很严重,漏洞利用难度很高(需要挟持DNS)
二、漏洞验证
https://github.com/fjserna/CVE-2015-7547
看README中英文说明
CVE-2015-7547-poc.py 模拟dns server
CVE-2015-7547-client.c 验证程序
#1.查看glibc版本
> rpm -qa glibc
#2.启动dns server
> python CVE-2015-7547-poc.py
#3.修改dns配置,使用伪造的dns server
> vi /etc/resolv.conf
#4.编译client并调用
> gcc -o client CVE-2015-7547-client.c
> ./client
输出 “Segmentation fault (core dumped)” 代表漏洞存在
三、加固
yum update glibc (确保yum源有最新版,glibc-2.12-1.166.el6_7.7.x86_64 及以上)
rpm -qa glibc
./client
注意update 需要先恢复dns,验证时需要用模拟的dns
到client 不输出 core dumped ,而是 Name or service not known,代表加固完成。