![Ubuntu上glibc CVE-2015-7547漏洞的POC验证和修复 Ubuntu上glibc CVE-2015-7547漏洞的POC验证和修复](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
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--
gcc -o CVE---client CVE---client.c
执行服务器端
sudo python CVE---poc.py
执行客户端
./CVE---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
可直接执行上述命令进行更新。