Linux Glibc库爆严重安全漏洞


        日前Linux GNU glibc标准库的 gethostbyname函数爆出缓冲区溢出漏洞,漏洞编号为CVE-2015-0235。黑客可以通过gethostbyname系列函数实现远程代码执行,获取服务器的控制权及Shell权限,此漏洞触发途径多,影响范围大,请大家关注和及时临时修复.

一、漏洞发布日期 

2015年1月27日

二、已确认被成功利用的软件及系统  

Glibc 2.2到2.17 (包含2.2和2.17版本)  

三、    漏洞描述  

GNU glibc标准库的gethostbyname 函数爆出缓冲区溢出漏洞,漏洞编号:CVE-2015-0235。 Glibc 是提供系统调用和基本函数的 C 库,比如open, malloc, printf等等。所有动态连接的程序都要用到Glibc。远程攻击者可以利用这个漏洞执行任意代码并提升运行应用程序的用户的权限。  

四、    漏洞检测方法  

请自行检测:  

[[test]]  
$ cat > GHOST.c << EOF  
#include <netdb.h>  
#include <stdio.h>  
#include <stdlib.h>  
#include <string.h>  
#include <errno.h>  
#define CANARY"in_the_coal_mine"  
struct {  
  char buffer[1024];  
  char canary[sizeof(CANARY)];  
} temp = { "buffer", CANARY };  
int main(void) {  
  struct hostent resbuf;  
  struct hostent *result;  
  int herrno;  
  int retval;  
  /*** strlen (name) = size_needed -sizeof (*host_addr) - sizeof (*h_addr_ptrs) - 1; ***/  
  size_t len = sizeof(temp.buffer) -16*sizeof(unsigned char) - 2*sizeof(char *) - 1;  
  char name[sizeof(temp.buffer)];  
  memset(name, '0', len);  
  name[len] = '\0';  
  retval = gethostbyname_r(name,&resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno);  
  if (strcmp(temp.canary, CANARY) !=0) {  
    puts("vulnerable");  
    exit(EXIT_SUCCESS);  
  }  
  if (retval == ERANGE) {  
    puts("notvulnerable");  
    exit(EXIT_SUCCESS);  
  }  
  puts("should nothappen");  
  exit(EXIT_FAILURE);  
}  
EOF  
[test]  
$ gcc GHOST.c -o GHOST  
[test]  
$./GHOST  
vulnerable

五、    建议修补方案  
特别提示:由于glibc属于Linux系统基础组件,为了避免修补对您服务器造成影响,建议您选择合适时间进行修复,同时务必在修复前通过快照操作进行备份,如果修复出现问题,可以迅速回滚快照恢复。 
  
Centos 5/6/7: 

yum update glibc

Ubuntu 12/14 :

apt-get update
 
apt-get install libc6

Debian 6 :

wget -O /etc/apt/sources.list.d/debian6-lts.list 
http://mirrors.aliyun.com/repo/debian6-lts.list
 
apt-get update 
apt-get install libc6

Debian 7 

apt-get update
 
apt-get install libc6

Opensuse 13 

zypper refresh
 
zypper update glibc*
上一篇 下一篇

评论



分享

我的公众号

恩波的公众号

最新加入

最新评论

emerson: 那个卡券的加密是不是要异步的?如果不需要的话,是不是使用jq的点击触发函数里面将addcard的api放进去?然后是不是会自动跳转到领取卡券的页面上的 查看原文 01月11日 21:30
渎沽沅洱: 有用的 查看原文 01月10日 15:52
京九线: 大神有个问题想咨询 574450603 查看原文 12月29日 23:54
I`m here: thanks for you offer 查看原文 12月14日 14:44
呼死你短信轰炸: 求草榴邀请码 查看原文 12月09日 20:07

赞助商