安全研究

安全漏洞
Samba QFILEPATHINFO请求应答构造缓冲区溢出漏洞

发布日期:2004-11-15
更新日期:2004-11-16

受影响系统:
Samba Samba 3.0.7
Samba Samba 3.0.6
Samba Samba 3.0.5
Samba Samba 3.0.4
Samba Samba 3.0.3
Samba Samba 3.0.2a
Samba Samba 3.0.2
Samba Samba 3.0.1
Samba Samba 3.0
不受影响系统:
Samba Samba 3.0.8
描述:
BUGTRAQ  ID: 11678
CVE(CAN) ID: CVE-2004-0882

Samba是一种对于SMB(Server Messages Block)协议的开放源码实现,提供绝大多数Windows系统的SMB文件及打印共享服务,可与Windows系统的网络无缝地结合起来。

Samba在处理客户端的QFILEINFO请求时存在问题,远程验证用户可能利用这个漏洞以Samba进程权限在系统上执行任意指令。

SMB协议允许客户端指定服务器可在单个应答中返回的最大数据字节数,当Samba 3.x服务器进程接收到这个字段设置为0的TRANSACT2_QFILEPATHINFO请求时,当服务程序构建对此请求的应答时超长的Unicode文件名可能使缓冲区溢出。

Samba <= 3.0.7的服务器程序读取客户端的最大数据字节数这个字段时,会分配一个(最大数据字节数字段值+1024)字节长的缓冲区,然后把应答写入到缓冲区中,但在写入过程中没有任何边界检查,因此如果在请求中指定特殊的超长文件名请求,当服务器构建应答时可导致超长的Unicode文件名溢出缓冲区。

通过使用Unicode字符为文件名的文件,利用此漏洞可以覆盖堆缓冲区的malloc()/free()控制结构,可能以Samba进程权限(通常是root用户权限)在系统上执行任意指令。

<*来源:Stefan Esser (s.esser@ematters.de
  
  链接:http://security.e-matters.de/advisories/132004.html
*>

建议:
厂商补丁:

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

http://www.samba.org/samba/download/

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