GoAhead WebServer远程缓冲区溢出漏洞
发布日期:2002-08-14
更新日期:2002-08-20
受影响系统:GoAhead Software GoAhead WebServer 2.1
- Linux系统
- Microsoft Windows NT 4.0
- Microsoft Windows CE 3.0
- Microsoft Windows CE 2.0
- Microsoft Windows 98
- Microsoft Windows 95
- Microsoft Windows 2000 SP3
描述:
BUGTRAQ ID:
5464
CVE(CAN) ID:
CVE-2002-1951
GoAhead WebServer是一款开放源代码的嵌入式WEB服务器程序,支持Active Server Pages,嵌入式Javascript,SSL验证和加密,广泛使用在Microsoft Windows和Linux操作系统下。
GoAhead WebServer存在缓冲区溢出漏洞,远程攻击者可以利用这个漏洞以WEB进程权限在系统上执行代码指令。
GoAhead WebServer对用户提交的URL请求缺少正确的处理,远程攻击者可以提交恶意特殊的URL使GoAhead WebServer处理时产生缓冲区溢出,通过覆盖内存中返回地址以WEB进程权限执行任意指令。
<**>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 目前已经有如下第三方补丁,不过NSFOCUS没有对这个第三方补丁进行测试:
diff -u ws212-020612/default.c ws212-020612gby/default.c
--- ws212-020612/default.c Wed Jun 12 19:38:48 2002
+++ ws212-020612gby/default.c Wed Jun 19 16:34:24 2002
@@ -204,9 +204,11 @@
* is bad.
*/
+#define MAXDIRPATH (64)
+
int websValidateUrl(webs_t wp, char_t *path)
{
- char_t *parts[64]; /* Array of ptr's to URL parts */
+ char_t *parts[MAXDIRPATH]; /* Array of ptr's to URL parts */
char_t *token, *dir, *lpath;
int i, len, npart;
@@ -241,7 +243,11 @@
} else if (gstrcmp(token, T(".")) != 0) {
parts[npart] = token;
len += gstrlen(token) + 1;
- npart++;
+ if(++npart >= MAXDIRPATH) {
+ /* Damn script kitties... */
+ bfree(B_L, path);
+ return -1;
+ }
}
token = gstrtok(NULL, T("/"));
}
厂商补丁:
GoAhead Software
----------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.goahead.com/webserver/webserver.htm浏览次数:3345
严重程度:0(网友投票)