CVE:CVE-2004-0815
CNNVD:CNNVD-200411-027
Samba是一套实现SMB(Server Messages Block)协议，跨平台进行文件共享和打印共享服务的程序。
Samba对用户提交的文件路径名的处理存在远程输入验证问题，远程攻击者可以利用这个漏洞以当前登录用户权限列表、下载、上传所有有权限操作的系统文件。
每个文件路径名会传递给Samba进程，并使用unix_convert()和check_name()函数进行转换和检查，unix_convert()函数先把文件路径名由DOS格式转换为UNIX格式，然后调用unix_clean_name()函数作进一步的处理，该函数会把路径文件名中的所有'//'替换为'/'，去除行首的'./'，还会对'/../'作处理。check_name()对转换后的文件名进行最后的检查，并调用reduce_name()，此函数会第二次调用unix_clean_name()。其结果可导致攻击者以绝对路径的方式访问计算机的任意文件。
如传递'/./////etc'路径名给unix_clean_name()函数，经过处理后就会转变成'/.///etc'，unix_convert()函数会把前面的'/'修剪掉，而路径名变为'.///etc'，那么此串再次传递给unix_clean_name()函数时，就会导致最终转换为'/etc'，这样可导致攻击者以登录用户的权限列表、下载、上传所有有权限操作的系统文件。
solution:Upgrade samba samba to a higher version than 2.2.0,2.2.0a,2.2.1a,2.2.2,2.2.3,2.2.3a,2.2.4,2.2.5,2.2.6,2.2.7,2.2.7a,2.2.8,2.2.8a,2.2.9,2.2.11,2.2a,3.0.0,3.0.1,3.0.2,3.0.2a,and avoid the version 2.2.0,2.2.0a,2.2.1a,2.2.2,2.2.3,2.2.3a,2.2.4,2.2.5,2.2.6,2.2.7,2.2.7a,2.2.8,2.2.8a,2.2.9,2.2.11,2.2a,3.0.0,3.0.1,3.0.2,3.0.2a