架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8506|回复: 2

[linux] Linux Glibc库严重安全漏洞修复通知 (重要)

[复制链接]
发表于 2015-1-30 18:36:02 | 显示全部楼层 |阅读模式
您好,日前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。远程攻击者可以利用这个漏洞执行任意代码并提升运行应用程序的用户的权限。

四、    漏洞检测方法


按照说明操作即可。
#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);   
}


保存为GHOST.c
执行gcc GHOST.c -o GHOST


$./GHOST   
novulnerable
代表修复成功。


五、    建议修补方案


特别提示:由于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*


Aliyun linux 5u7


wget -O /etc/yum.repos.d/aliyun-5.repo http://mirrors.aliyun.com/repo/aliyun-5.repo  
yum update glibc





上一篇:C#复制、粘贴文本信息到剪贴板
下一篇:html dl dt dd标签元素语法结构与使用
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-1-30 20:51:58 | 显示全部楼层
已经修复。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-1-31 18:49:17 | 显示全部楼层
base                                                              | 3.7 kB     00:00     
base/primary_db                                                   | 4.6 MB     00:01     
epel                                                              | 4.4 kB     00:00     
epel/primary_db                                                   | 6.3 MB     00:02     
extras                                                            | 3.4 kB     00:00     
extras/primary_db                                                 |  30 kB     00:00     
updates                                                           | 3.4 kB     00:00     
updates/primary_db                                                | 2.1 MB     00:00     
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package glibc.x86_64 0:2.12-1.132.el6_5.2 will be updated
--> Processing Dependency: glibc = 2.12-1.132.el6_5.2 for package: glibc-devel-2.12-1.132.el6_5.2.x86_64
--> Processing Dependency: glibc = 2.12-1.132.el6_5.2 for package: glibc-headers-2.12-1.132.el6_5.2.x86_64
--> Processing Dependency: glibc = 2.12-1.132.el6_5.2 for package: glibc-common-2.12-1.132.el6_5.2.x86_64
--> Processing Dependency: glibc = 2.12-1.132.el6_5.2 for package: nscd-2.12-1.132.el6_5.2.x86_64
---> Package glibc.x86_64 0:2.12-1.149.el6_6.5 will be an update
--> Running transaction check
---> Package glibc-common.x86_64 0:2.12-1.132.el6_5.2 will be updated
---> Package glibc-common.x86_64 0:2.12-1.149.el6_6.5 will be an update
---> Package glibc-devel.x86_64 0:2.12-1.132.el6_5.2 will be updated
---> Package glibc-devel.x86_64 0:2.12-1.149.el6_6.5 will be an update
---> Package glibc-headers.x86_64 0:2.12-1.132.el6_5.2 will be updated
---> Package glibc-headers.x86_64 0:2.12-1.149.el6_6.5 will be an update
---> Package nscd.x86_64 0:2.12-1.132.el6_5.2 will be updated
---> Package nscd.x86_64 0:2.12-1.149.el6_6.5 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================
Package               Arch           Version                      Repository       Size
=========================================================================================
Updating:
glibc                 x86_64         2.12-1.149.el6_6.5           updates         3.8 M
Updating for dependencies:
glibc-common          x86_64         2.12-1.149.el6_6.5           updates          14 M
glibc-devel           x86_64         2.12-1.149.el6_6.5           updates         983 k
glibc-headers         x86_64         2.12-1.149.el6_6.5           updates         612 k
nscd                  x86_64         2.12-1.149.el6_6.5           updates         223 k

Transaction Summary
=========================================================================================
Upgrade       5 Package(s)

Total download size: 20 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): glibc-2.12-1.149.el6_6.5.x86_64.rpm                        | 3.8 MB     00:00     
(2/5): glibc-common-2.12-1.149.el6_6.5.x86_64.rpm                 |  14 MB     00:03     
(3/5): glibc-devel-2.12-1.149.el6_6.5.x86_64.rpm                  | 983 kB     00:00     
(4/5): glibc-headers-2.12-1.149.el6_6.5.x86_64.rpm                | 612 kB     00:00     
(5/5): nscd-2.12-1.149.el6_6.5.x86_64.rpm                         | 223 kB     00:00     
-----------------------------------------------------------------------------------------
Total                                                    4.6 MB/s |  20 MB     00:04     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : glibc-2.12-1.149.el6_6.5.x86_64                                      1/10
  Updating   : glibc-common-2.12-1.149.el6_6.5.x86_64                               2/10
  Updating   : glibc-headers-2.12-1.149.el6_6.5.x86_64                              3/10
  Updating   : glibc-devel-2.12-1.149.el6_6.5.x86_64                                4/10
  Updating   : nscd-2.12-1.149.el6_6.5.x86_64                                       5/10
  Cleanup    : glibc-devel-2.12-1.132.el6_5.2.x86_64                                6/10
  Cleanup    : glibc-headers-2.12-1.132.el6_5.2.x86_64                              7/10
  Cleanup    : nscd-2.12-1.132.el6_5.2.x86_64                                       8/10
  Cleanup    : glibc-common-2.12-1.132.el6_5.2.x86_64                               9/10
  Cleanup    : glibc-2.12-1.132.el6_5.2.x86_64                                     10/10
  Verifying  : nscd-2.12-1.149.el6_6.5.x86_64                                       1/10
  Verifying  : glibc-common-2.12-1.149.el6_6.5.x86_64                               2/10
  Verifying  : glibc-devel-2.12-1.149.el6_6.5.x86_64                                3/10
  Verifying  : glibc-headers-2.12-1.149.el6_6.5.x86_64                              4/10
  Verifying  : glibc-2.12-1.149.el6_6.5.x86_64                                      5/10
  Verifying  : glibc-headers-2.12-1.132.el6_5.2.x86_64                              6/10
  Verifying  : nscd-2.12-1.132.el6_5.2.x86_64                                       7/10
  Verifying  : glibc-devel-2.12-1.132.el6_5.2.x86_64                                8/10
  Verifying  : glibc-2.12-1.132.el6_5.2.x86_64                                      9/10
  Verifying  : glibc-common-2.12-1.132.el6_5.2.x86_64                              10/10

Updated:
  glibc.x86_64 0:2.12-1.149.el6_6.5                                                      

Dependency Updated:
  glibc-common.x86_64 0:2.12-1.149.el6_6.5     glibc-devel.x86_64 0:2.12-1.149.el6_6.5   
  glibc-headers.x86_64 0:2.12-1.149.el6_6.5    nscd.x86_64 0:2.12-1.149.el6_6.5         

Complete!
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-25 15:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表