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(网友投票)