安全研究

安全漏洞
Samba 3.x SWAT预验证远程缓冲区溢出漏洞

发布日期:2004-07-22
更新日期:2004-07-27

受影响系统:
Samba Samba 3.0.4
Samba Samba 3.0.3
Samba Samba 3.0.2
不受影响系统:
Samba Samba 3.0.5
描述:
BUGTRAQ  ID: 10780
CVE(CAN) ID: CVE-2004-0600

SWAT是Samba Web管理工具。

Samba SWAT服务预验证存在缓冲区溢出问题,远程攻击者可以利用这个漏洞在系统上以SWAT进程权限执行任意指令。

问题存在于source/lib/util_str.c文件中的进行HTTP Basic验证的base64_decode_data_blob函数中:

  int bit_offset, byte_offset, idx, i, n;
...
...
  if (*s == '=') n -= 1

  /* fix up length */
  decoded.length = n;
  return decoded;

其中'n'定义为int.如果字符'='是最后一个数据,就会从'n'值中减一,此逻辑会在没有任何数据到达时出现问题或当值为1时,'n'减为零而没有相关的BASE64解码,产生基于整数的溢出。由于这个整数值会在之后进行memcpy()操作,因此精心构建提交数据可能以SWAT进程权限执行任意指令。

<*来源:Evgeny Demidov (demidov@gleg.net
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=109052647928375&w=2
*>

建议:
临时解决方法:

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

* 关闭SWAT服务。

厂商补丁:

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

Samba 3.0.5:

http://www.samba.org/samba/whatsnew/samba-3.0.5.htm

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