首页 -> 安全研究

安全研究

安全漏洞
mantis受限项目漏洞列表查看漏洞

发布日期:2002-08-19
更新日期:2002-08-23

受影响系统:
Mantis mantis 0.17.3
Mantis mantis 0.17.2
Mantis mantis 0.17.0
Mantis mantis 0.16.1
Mantis mantis 0.16.0
Mantis mantis 0.15.9
Mantis mantis 0.15.8
Mantis mantis 0.15.7
Mantis mantis 0.15.6
Mantis mantis 0.15.5
Mantis mantis 0.15.4
Mantis mantis 0.15.3
Mantis mantis 0.15.12
Mantis mantis 0.15.11
Mantis mantis 0.15.10
Mantis mantis 0.17.1
    - Debian Linux 3.0
不受影响系统:
Mantis mantis 0.17.4a
Mantis mantis 0.17.4
描述:
BUGTRAQ  ID: 5514
CVE(CAN) ID: CVE-2002-1112

mantis是一款基于WEB的PHP编写MySQL后台支持的漏洞跟踪系统。

Mantis中用户可以从下拉菜单中选择一个项目,然后与之相关的所有漏洞列表将被显示。
'View Bugs'页面负责显示一个项目中的漏洞列表,但它没有检查是否用户确实有权访问该项目。攻击者可以通过修改cookie中储存的项目编号变量,来获取该项目的漏洞列表,即使该项目对用户来讲是受限的。

注意攻击者并不能获取受限项目中漏洞的详细内容,也不能获取受限/私有漏洞的列表。

<*来源:Jeroen Latour (jlatour@calaquendi.net
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=102978673018271&w=2
        http://www.debian.org/security/2002/dsa-153
*>

测试方法:

警 告

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

Jeroen Latour (jlatour@calaquendi.net)提供了如下测试方法:

修改本地cookie中project_id变量的值即可获取该项目的漏洞列表。

建议:
临时解决方法:

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

* 如果您无法立刻升级,也可以手工修复此漏洞,在core_user_API.php中增加下列语句:

     # Check to see if the current user has access on the specified project
     function check_access_to_project( $p_project_id ) {
       $t_project_view_state = get_project_field( $p_project_id,
'view_state' );

       # Administrators ALWAYS pass.
       if ( get_current_user_field( 'access_level' ) >= ADMINISTRATOR ) {
         return;
       }

       # public project accept all users
       if ( PUBLIC == $t_project_view_state ) {
         return;
       } else {
         # private projects require users to be assigned
         $t_project_access_level = get_project_access_level( $p_project_id );
         # -1 means not assigned, kick them out to the project selection screen
         if ( -1 == $t_project_access_level ) {
           print_header_redirect( 'login_select_proj_page.php' );
         } else { # passed
           return;
         }
       }
     }

   在view_all_bug_page.ph中找到下列代码:
         $t_where_clause .= ')';
       }
     } else {
       $t_where_clause = " WHERE project_id='$g_project_cookie_val'";
     }
     # end project selection

   将上述代码替换成:
         $t_where_clause .= ')';
       }
     } else {
       check_access_to_project($g_project_cookie_val);
       $t_where_clause = " WHERE project_id='$g_project_cookie_val'";
     }
     # end project selection


注:0.17.4a之前的版本还存在其他的严重漏洞,因此Nsfocus建议您还是尽快升级到最新版本。

厂商补丁:

Debian
------
Debian已经为此发布了一个安全公告(DSA-153-2)以及相应补丁:
DSA-153-2:New mantis package fixes several vulnerabilities

链接:http://www.debian.org/security/2002/dsa-153

补丁下载:

Debian GNU/Linux 3.0 alias woody
- --------------------------------

  Source archives:

    http://security.debian.org/pool/updates/main/m/mantis/mantis_0.17.1-2.2.dsc
      Size/MD5 checksum:      572 b0e1d4b5e021afd1445497e79db30c99
    http://security.debian.org/pool/updates/main/m/mantis/mantis_0.17.1-2.2.diff.gz
      Size/MD5 checksum:    13992 808ef6b8552bfd50b9e1a0abb34620fd
    http://security.debian.org/pool/updates/main/m/mantis/mantis_0.17.1.orig.tar.gz
      Size/MD5 checksum:   220458 d8bac093eaf31ef5812e714db5c07f82

  Architecture independent components:

    http://security.debian.org/pool/updates/main/m/mantis/mantis_0.17.1-2.2_all.deb
      Size/MD5 checksum:   249206 3891cfe394de49d7e57a4b4ed8f7db6f




补丁安装方法:

1. 手工安装补丁包:

  首先,使用下面的命令来下载补丁软件:
  # wget url  (url是补丁下载链接地址)

  然后,使用下面的命令来安装补丁:  
  # dpkg -i file.deb (file是相应的补丁名)

2. 使用apt-get自动安装补丁包:

   首先,使用下面的命令更新内部数据库:
   # apt-get update
  
   然后,使用下面的命令安装更新软件包:
   # apt-get upgrade

Mantis
------
目前厂商已经发布了0.17.4a以修复这个安全问题,请到厂商的主页下载:

http://mantisbt.sourceforge.net/download.php3

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