CVE:CVE-2004-0600
CNNVD:CNNVD-200407-053
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进程权限执行任意指令。
solution:Upgrade samba samba to a higher version than 3.0.2,3.0.2a,3.0.3,3.0.4,and avoid the version 3.0.2,3.0.2a,3.0.3,3.0.4; Upgrade trustix secure_linux to a higher version than 1.5,2.0,2.1,and avoid the version 1.5,2.0,2.1