Ubuntu上glibc CVE-2015-7547漏洞的POC验证和修复

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

 可直接执行上述命令进行更新。

原文地址:https://www.cnblogs.com/maxidea/p/5244158.html