首页 -> 安全研究

安全研究

绿盟月刊
绿盟安全月刊->第53期->最新漏洞
期刊号: 类型: 关键词:
Samba远程畸形路径名导致目录遍历漏洞

日期:2004-11-05

发布日期:2004-09-30
更新日期:2004-10-08

受影响系统:
Samba Samba 3.0.2a
Samba Samba 3.0.2
Samba Samba 3.0.1
Samba Samba 3.0
Samba Samba 2.2.8a
Samba Samba 2.2.8
Samba Samba 2.2.7a
Samba Samba 2.2.7
Samba Samba 2.2.6
Samba Samba 2.2.5
Samba Samba 2.2.4
Samba Samba 2.2.3
Samba Samba 2.2.2
Samba Samba 2.2.11
Samba Samba 2.2.0a
Samba Samba 2.2.0
不受影响系统:
Samba Samba 3.0.7
Samba Samba 3.0.6
Samba Samba 2.2.12
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 11281
CVE(CAN) ID: CAN-2004-0815

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',这样可导致攻击者以登录用户的权限列表、下载、上传所有有权限操作的系统文件。

<*来源:Karol Wiesek (appelast@bsquad.sm.pl)
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=109658688505723&w=2
*>

建议:
--------------------------------------------------------------------------------
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 限制只能是可信用户连接Samba共享。

厂商补丁:

Samba
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

Samba 2.2.12 upgrade for Samba 2.2.x:
http://us4.samba.org/samba/ftp/samba-2.2.12.tar.gz

Samba 3.0.5 patch:
http://us4.samba.org/samba/ftp/patches/security/samba-3.0.5-reduce_name.
patch


其中Samba 3.0.7版本不受此漏洞影响:

http://us4.samba.org/
版权所有,未经许可,不得转载