Ubuntu上查看Glibc版本
$ldd --version ldd (Ubuntu GLIBC 2.21-0ubuntu4) 2.21
Ubuntu上查看使用Glibc的相关程序
sudo lsof +c0 | awk 'NR==1 || /libc-/ {print $2,$1,$4,$NF}'
POC本地验证过程
下载源码
git clone https://github.com/fjserna/CVE-2015-7547.git
编译二进制文件
cd CVE-2015-7547 gcc -o CVE-2015-7547-client CVE-2015-7547-client.c
执行服务器端
sudo python CVE-2015-7547-poc.py
执行客户端
./CVE-2015-7547-client
如果出现错误:"getaddrinfo: Name or service not known", 请修改/etc/resolv.conf
nameserver 127.0.0.1
如果客户端返回 “Segmentation fault (core dumped)”,就是存在漏洞。
如果客户端返回 “CVE-2015-7547-client: getaddrinfo: Name or service not known”,就是漏洞已经被修复了。
Ubuntu上漏洞修复
目前Ubuntu官方已经对以下三个版本进行更新:
Ubuntu 15.10
Ubuntu 14.04 LTS
Ubuntu 12.04 LTS
sudo apt-get update && sudo apt-get install libc6 && sudo apt-get install libc-bin
可直接执行上述命令进行更新。