CVE:CVE-2002-2368
CNNVD:CNNVD-200212-396
Socks5是一款由NEC分发的免费开放源代码的代理实现，可使用在Unix、Linux、Microsoft Windows操作系统下。
Socks5在处理用户名时存在漏洞，远程攻击者可以利用这个漏洞进行缓冲区溢出攻击。
在Socks5中的proxy.c中，由于对用户提交的用户名数据缺少正确的边界检查，远程攻击者可以提交超过132字节的用户名给Socks5处理，可导致产生缓冲区溢出，精心构建提交的用户名数据可能以Socks5进程的权限在系统上执行任意指令。
问题代码存在于proxy.c中：
proxy.c:
static int GetString(S5IOHandle fd， char *buf， double *timerm) {
    u_char len;
    buf[0] = '\0';
    if (S5IORecv(fd， NULL， (char *)&len， 1， 0， UPWD_IOFLAGS， timerm) != 1) return -1;
    if (len == 0) return 0;
    if (S5IORecv(fd， NULL， buf， len， 0， UPWD_IOFLAGS， timerm) != len) return -1;
    buf[len] = '\0';
    return len;
}
其中目标用户名定义的缓冲区长度为128字节。
solution:Upgrade nec socks_5 to a higher version than 1.0r11,and avoid the version (,1.0r11]