首頁安全服務安全公告
正文

荒野行动真的垃圾:海峽信息-緊急通告2015年第02號(幽靈漏洞)

發布時間:2015-02-03 17:02   瀏覽次數:1781

荒野行动送点券了 www.iadvv.icu [2015年第02號]

尊敬的海峽用戶:

2015年1月28日,海峽信息關注到Linux平臺的又一個高危漏洞,此漏洞編號為:CVE-2015-0235,初步的CVSS2.0評分為6.8 (10分為最高)。并命名此漏洞為“Ghost”(幽靈)。

【漏洞描述】

代碼審計公司Qualys 的研究人員在glibc 庫中的__nss_hostname_digits_dots()函數中發現了一個緩沖區溢出的漏洞,這個bug可以經過 gethostbyname*()函數被本地或者遠程的觸發。應用程序主要使用gethostbyname*()函數發起DNS 請求,這個函數會將主機名稱轉換為ip 地址。成功利用此漏洞的黑客可能遠程獲取系統權限。

【發布日期】2015-1-28

【受威脅對象】

影響范圍涉及glibc 2.2 至2.15 之間的多個LINUX 系統,包括

Red Hat Enterprise Linux 6 & 7,CentOS 6 & 7,Debian 7 (wheezy),Ubuntu 10.04 & 12.04 等版本。

 

【測試方法】

查看GNU C 庫版本

執行如下命令查看Glibc版本號小于等于2.15則在受影響范圍內,建議升級。

# ldd --version

演示截圖如下:


查看glibc 庫信息的命令

根據不同系統版本,執行以下命令查看輸出信息中的Glibc版本號小于等于2.15則在受影響范圍內,建議升級。

a) Red Hat 的32 位系統:

$ /lib/libc.so.6

b) Red Hat 的64 位系統:

$ /lib64/libc.so.6

c) Debian 的32 位系統:

$ /lib/i386-linux-gnu/libc.so.6

d) Debian 的64 位系統:

$ /lib/x86_64-linux-gnu/libc.so.6

 

編譯并運行測試代碼

將以下代碼保存為*.c文件,使用gcc命令編譯后運行,可輸出版本信息以及是否有漏洞。命令:

#gcc ghost.c -o ghost

#./ghost

 

//代碼開始:

#include <netdb.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <errno.h>

#include <gnu/libc-version.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("Bug exists.");

exit(EXIT_SUCCESS);

}

if (retval == ERANGE)

{

puts("No bug.");

exit(EXIT_SUCCESS);

}

puts("should not happen");

exit(EXIT_FAILURE);

 

【修復方案】

建議升級glibc 到最新的版本。

 

GNU官方的glibc庫源碼下載:

//ftp.gnu.org/gnu/glibc/

Debian和ubuntu的RPM安裝包下載:

//pkgs.org/download/libc6

 

對于能連接互聯網的主機,建議使用如下命令升級:

RHEL/CentOS:         sudo yum update glibc 

Ubuntu:               sudo apt-get update ; sudo apt-get install libc6


福建省海峽信息技術有限公司 版權所有  聯系: [email protected] 閩ICP備06011901號 ? 1999-2019 Fujian Strait Information Corporation. All Rights Reserved.

返回頂部