GitLab · Report #767770
Private objects exposed through project import
Validstatus
criticalseverity
$20,000bounty
133upvotes
7 Jun 2022disclosed
How it was found
Summary
This is a bypass of https://hackerone.com/reports/743953 , the current fix is blocking all "_ids" attributes. However an attacker could still set attributes like issue_ids by indrectly settings the field within the attributes field it self:
# project.json
"attributes": {
"issue_ids": [ 29279725 ],
"description": "Set from attributes[description]"
},
Steps to reproduce
- Import the attached tarball.
- Check issues tab
The other parts of the report are mostly same as those I mentioned in https://hackerone.com/reports/743953 , I decide to write a new report considering the impact to gitlab.com.
Impact
With this ability to modify relations between objects, an attacker could end up with accessing random resources of other users by traversing the incremental ID space.