首页 -> 安全研究

安全研究

安全漏洞
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/



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