NEC Socks4用户名远程缓冲区溢出漏洞
发布日期:2002-07-03
更新日期:2002-07-08
受影响系统:
NEC socks4 4.3 beta2
NEC socks4 4.3 beta.p1
NEC socks4 4.2.2
NEC socks4 4.2.1
NEC socks4 4.2
- Linux系统
- Microsoft Windows XP
- Microsoft Windows NT 4.0
- Microsoft Windows ME
- Microsoft Windows 98
- Microsoft Windows 95
- Microsoft Windows 2000
- Unix系统
描述:
BUGTRAQ ID:
5147
Socks4是一款由NEC分发的免费开放源代码的代理实现,可使用在Unix、Linux、Microsoft Windows操作系统下。
Socks4在处理用户名时存在漏洞,远程攻击者可以利用这个漏洞进行缓冲区溢出攻击。
在Socks4中的proxy.c中,由于对用户提交的用户名数据缺少正确的边界检查,远程攻击者可以提交超过132字节的用户名给Socks4处理,可导致产生缓冲区溢出,精心构建提交的用户名数据可能可以以Socks4进程的权限在系统上执行任意指令。
问题代码存在于proxy.c中:
proxy.c:
static int HandleS4Connection(S5LinkInfo *pri, S5IOInfo *iio, list *auths, double *timerm) {
...
char buf[256+256+8],
...
for (tmp = buf, *tmp = '\0'; tmp < buf+sizeof(buf)-1; *++tmp = '\0') {
if (S5IORecv(iio->fd, iio, tmp, 1, 0, PROXY_IOFLAGS, timerm) != 1) {
S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(0), 0, "Socks4: Read failed: %m");
return EXIT_ERR;
}
if (*tmp == '\0') break;
}
S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(10), 0, "Socks4: Read user: %s", buf);
strcpy(pri->srcUser, buf);
其中pri->srcUser定义的长度为128字节。
<*来源:3APA3A (
3APA3A@security.nnov.ru)
链接:
http://archives.neohapsis.com/archives/bugtraq/2002-07/0033.html
*>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 暂时没有合适的临时解决方法。
厂商补丁:
NEC
---
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.socks.nec.com/
浏览次数:5119
严重程度:0(网友投票)