CVE:CVE-2004-0541
CNNVD:CNNVD-200408-098
Squid（全称Squid Cache）是一套代理服务器和Web缓存服务器软件。该软件提供缓存万维网、过滤流量、代理上网等功能。
Squid Web proxy在处理NTLM验证时缺少充分边界缓冲区检查，远程攻击者可以利用这个漏洞进行缓冲区溢出攻击，可能以进程权限在系统上执行任意指令。
Squid Web Proxy缓存支持Basic、Digest及NTLM验证，漏洞存在于NTLM验证的帮助函数中，helpers/ntlm_auth/SMB/libntlmssp.c中的ntlm_check_auth()函数：
char *ntlm_check_auth(ntlm_authenticate * auth， int auth_length){    int rv;    char pass[25] /*， encrypted_pass[40] */;    char *domain = credentials;    ...    memcpy(pass， tmp.str， tmp.l);    ...
函数由于对拷贝到'pass'变量的值缺少充分边界检查，过长的密码字段可造成缓冲区溢出及执行任意指令。memcpy()使用的'tmp.str'和'tmp.l'变量包含用户提供的数据。
solution:Upgrade national_science_foundation squid_web_proxy_cache to a higher version than 2.5_stable,3_pre,and avoid the version 2.5_stable,3_pre