毒舌网事
微商,自媒体资讯网!

Linux Glibc幽灵漏洞已经波及到wordpress

据360安全播报平台提供的消息Linux Glibc幽灵漏洞允许黑客远程获取系统权限,并且已经波及到wordpress等web程序,影响很严重,大家务必修复。

t01315f415816d5affe.png

幽灵漏洞是Linux glibc库上出现的一个严重的安全问题,他可以让攻击者在不了解系统的任何情况下远程获取操作系统的控制权限。目前他的CVE编号为CVE-2015-0235。

什么是glibc

glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。glibc 囊括了几乎所有的 UNIX 通行的标准。

出现了什么漏洞

代码审计公司Qualys的研究人员在glibc库中的__nss_hostname_digits_dots()函数中发现了一个缓冲区溢出的漏洞,这个bug可以经过 gethostbyname*()函数被本地或者远程的触发。应用程序主要使用gethostbyname*()函数发起DNS请求,这个函数会将主机名称转换为ip地址;

漏洞危害

这个漏洞造成了远程代码执行,攻击者可以利用此漏洞获取系统的完全控制权。

漏洞证明

在我们的测试中,我们编写了一个POC,当我们发送一封精心构造的电子邮件给服务器后,我们便可以获得远程Linux服务器的shell,这绕过了目前在32位和64位系统的所有保护(如ASLR,PIE和NX)。

我们能做什么?

给操作系统及时打补丁,我们(Qualys)已与Linux发行商紧密合作,会及时发布补丁。

为什么叫做GHOST?

因为他通过GetHOST函数触发。

哪些版本和操作系统受影响?

第一个受影响的版本是GNU C库的glibc-2.2,2000年11月10号发布。我们已找出多种可以减轻漏洞的方式。我们发现他在2013年5月21号(在glibc-2.17和glibc-2.18发布之间)已经修复。不幸的是他们不认为这是个安全漏洞。从而导致许多稳定版本和长期版本暴露在外,其中包括Debian 7 (wheezy),Red Hat Enterprise,Linux 6 & 7,CentOS 6 & 7,Ubuntu 12.04等

在哪里下载EXP?

我们希望每个人能有充分的时间去打补丁。根据我们的统计数据当漏洞达到半周期的时候我们会放出EXP。半周期是指超过一半的主机已打上补丁。这个周期展示出了漏洞修复的努力程度。一个较短的周期意味着更快速的修复努力。半周期概念由Qualys的漏洞准则提出。

Qualys的客户可以使用Qualys Vulnerability Management (VM)云解决方案来扫描和检测GHOST。Qualys的客户可以可以获得相应的报告。可以可视化得追踪和展示这次漏洞修复进程。

修复方案

升级glibc库 

    RHEL/CentOS : sudo yum update glibc 

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

参考

Qualys Advisory: https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt

RedHat: https://rhn.redhat.com/errata/RHSA-2015-0090.html

Ubuntu: https://launchpad.net/ubuntu/+source/eglibc

Debian: https://security-tracker.debian.org/tracker/CVE-2015-0235

GNU C Library: http://www.gnu.org/software/libc/

更多技术细节:http://bobao.360.cn/learning/detail/224.html 

附POC

测试方法:gcc gistfile1.c -o CVE-2015-0235 ./CVE-2015-0235

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#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] = '';

 

  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("not vulnerable");
    exit(EXIT_SUCCESS);
  }
  puts("should not happen");
  exit(EXIT_FAILURE);
}
#* from http://www.openwall.com/lists/oss-security/2015/01/27/9 */

并且幽灵漏洞已经产生蝴蝶效应,波及到wordpress等著名的web程序:

t01df4089e42a0e2616.jpg

最近很火的幽灵漏洞,除了在clockdiff,procmail,exim等应用程序上发现了漏洞,昨天小编发现已经蔓延到常见的web应用程序上,比如著名的wordpress,wordpress里的wp_http_validate_url() 函数,底层是gethostbyname()封装的,因此也受到幽灵漏洞的影响!

相关代码如下:

t01e6ca4e257c6f3be5.jpg

攻击者可以通过插入恶意的URL来触发这个漏洞,如果利用成功,就可以获取到服务器的权限了。
 

所以,建议各位VPS站长,赶紧更新系统补丁。

如果你不是使用的wordpress,也不敢保证其他的WEB程序不受此漏洞影响。可以用如下命令测试:

1
2
 php -r '$e="0";for($i=0;$i<2500;$i++){$e="0$e";} gethostbyname($e);'
 Segmentation fault

如果返回Segmentation fault,说明存在漏洞

来源地址:360安全播报

地址:http://bobao.360.cn/news/detail/1166.html

      http://bobao.360.cn/news/detail/1178.html 

本站部分来源于网络,转载自行负责:毒舌网事 » Linux Glibc幽灵漏洞已经波及到wordpress

分享到:更多 ()

毒舌网事,专业自媒体微商观点网站!

联系我们加入QQ群