首页 -> 安全研究

安全研究

安全漏洞
SWSoft ASPSeek搜索引擎s.cgi远程溢出漏洞

发布日期:2001-03-20
更新日期:2001-03-20

受影响系统:
SWSoft ASPSeek 1.0.3
SWSoft ASPSeek 1.0.1
SWSoft ASPSeek 1.0
不受影响系统:
SWSoft ASPSeek 1.2.4
SWSoft ASPSeek 1.1
SWSoft ASPSeek 1.0.5
SWSoft ASPSeek 1.0.4
描述:
BUGTRAQ  ID: 2492
CVE(CAN) ID: CVE-2001-0476

Aspseek搜索引擎是用C/C++开发的搜索引擎,使用MySQL数据库存储数据。

它所带的一个CGI程序:s.cgi中存在多个缓冲区溢出漏洞,攻击者可能远程执行任意代码。

有问题的代码部分如下:
1.  c.cpp:
     int search(char *exe, char *arg) {
     ==>
        if ((env = getenv("QUERY_STRING")))
       {
           strcpy(query_string, env);
           ....
       }
     <==
     }

这里query_string的定义为:
query_string[STRSIZ] = query_string[4 x 1024]
攻击者必须提供至少10272字节才能溢出成功,因此对于某些限制了URL长度的Web Server(例如apache,只允许8190字节长的URL),远程攻击是无用的。
  
2.  emplates.cpp:
     int CCgiQuery::ParseCgiQuery(char* query, char* templ) {
     ==>
          else if ((!STRNCMP(token, "tmpl="))
          {
               char* tmpl = token + 5;
               char tmplu[2000];
               sprintf(tmplu, "&tmpl=%s", tmpl);
               ....
          }
    <==
    }

这里是一个典型的缓冲区溢出,攻击者只需提供5148字节数据就可覆盖堆栈中的返回地址,因此远程攻击是可行的。


<*来源:Neil K (neilk@alldas.de
  *>

建议:
厂商补丁:

SWSoft
------
目前厂商已经发布了1.0.4版以修复这个安全问题,请到厂商的主页下载:

http://www.sw-soft.com/trial/aspseek/1.0.4/aspseek-1.0.4.tar.gz

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