安全研究

安全漏洞
fuzzylime CMS多个本地文件包含和任意文件覆盖漏洞

发布日期:2009-06-17
更新日期:2009-06-24

受影响系统:
fuzzylime fuzzylime <= 3.03a
描述:
BUGTRAQ  ID: 35418
CVE(CAN) ID: CVE-2009-2176,  CVE-2009-2177

fuzzylime是一个内容管理系统,是建立各种规模站点的理想系统。

fuzzylime的code/confirm.php模块没有正确验证对list参数所提供的输入,code/display.php模块没有正确验证对template参数所提供的输入,远程攻击者可以包含本地资源的任意文件。以下是有漏洞的代码段:

confirm.php
-----------------------------------------------------------------
1. <?
2. @extract($HTTP_GET_VARS);  
3. @extract($_GET);          
      
27.  elseif(isset($e)) {
28.       $filename = "code/mailing/$list.inc.php";
29.        @include $filename;
-----------------------------------------------------------------

display.php
--------------------------------------------------------------------
98. if($_GET['print'] != "1") include "templates/${template}_f.php";
--------------------------------------------------------------------

此外fuzzylime的code/display.php模块没有正确的验证对s参数的输入,可能导致以web server的权限覆盖任意文件。以下是有漏洞的代码段:

display.php
-----------------------------------------------------------------
  1. <?
  2. $s = $_GET[s];
  3. $p = $_GET[p];
  4. $s = str_replace("../", "", $s);
  5. $p = str_replace("../", "", $p);
...
54. $cachefile = "cache/${s}_${p}_$_GET[m]_$_GET[c]_$_GET[t]_$_GET[u]_$_GET[print].cache.htm";
100. if($usecache == "1" && $passprot != "1" && $s != "rss" && empty($_GET[msg]) && empty($_GET[tn])) {
101.        if($handle = fopen($cachefile, 'w')) { // Create the cache file
102.            $output = ob_get_contents();
103.            fputs($handle, $output);
104.
105.            fclose($handle);
106.        }
107.    }
----------------------------------------------------------------------

成功利用这些漏洞要求禁用了magic_quotes_gpc。

<*来源:StAkeR (StAkeR@hotmail.it
  
  链接:http://secunia.com/advisories/35489
        http://www.milw0rm.com/exploits/8978
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

http://www.example.com/[path]/code/confirm.php?e[]&amp;list= { file + nullbyte }
http://www.example.com/[path]/code/display.php?template= {file + nullbyte}
http://www.example.com/[path]/code/display.php?usecache=1&amp;s=....//settings

建议:
厂商补丁:

fuzzylime
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://cms.fuzzylime.co.uk

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