Closed
Bug 1306589
Opened 9 years ago
Closed 9 years ago
BMO: CSRF vulnerability allows deleting admin queue entries
Categories
(bugzilla.mozilla.org :: General, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: jwkbugzilla, Assigned: dkl)
References
()
Details
(Keywords: reporter-external, sec-low, wsec-csrf, Whiteboard: [reporter-external] [web-bounty-form] [verif?])
Attachments
(1 file)
|
3.46 KB,
patch
|
dylan
:
review+
|
Details | Diff | Splinter Review |
BMO has a Push extension providing some admin queues, e.g. the "Pending Queue" displays all objects created. If I were to attack Bugzilla, I would have some interest in clearing out these queues - and a CSRF vulnerability actually makes this possible. E.g. if you want to delete a message with ID 1 from the Pending Queue and you get a Bugzilla admin to visit your website you can add the following code to the page:
<img src="https://buzilla.mozilla.org/page.cgi?id=push_queues_view.html&message=1&delete=1">
When a Bugzilla admin opens that page their browser will make a request to https://buzilla.mozilla.org/page.cgi?id=push_queues_view.html&message=1&delete=1 and cause the message to be deleted - there is no CSRF token, and this doesn't even need to be a POST request.
There is a complication here of course, one needs to know the message ID. As the IDs are sequential, this is solvable however. A script on the page could just keep incrementing the ID, and it might be able to speed up the process via timing attacks - time to response should be different for valid and invalid IDs, which would allow finding the range with valid IDs relatively quickly.
Flags: sec-bounty?
Comment 1•9 years ago
|
||
Moving this into the Bugzilla space so that BMO folks can take a look at it.
Group: websites-security → bugzilla-security
Component: Other → General
Product: Websites → bugzilla.mozilla.org
Version: unspecified → Production
Updated•9 years ago
|
Status: NEW → UNCONFIRMED
Ever confirmed: false
| Assignee | ||
Updated•9 years ago
|
Assignee: nobody → dkl
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Comment 2•9 years ago
|
||
:dylan will be talking about what this particularly queue is, and why it's rated as sec-low. Thanks, Dylan! And nice find as always, Vlad. :)
Comment 3•9 years ago
|
||
The only feasible queue to attack would be mozreview, and the window for the attack would be quite small,
you would have on average 1 second.
BMO as it currently runs *isn't fast enough* for this to be feasible, that number of requests would be a denial of service attack
and would as a result be very noticeable.
The benefit of the attack would be mozreview attachments for bugs that were retroactively made security bugs staying public.
That is serious (although it would be smarter to just watch all mozreview patches and mark any that disappear as "interesting").
Flags: needinfo?(dylan)
| Assignee | ||
Comment 4•9 years ago
|
||
Attachment #8796659 -
Flags: review?(dylan)
Comment 5•9 years ago
|
||
Comment on attachment 8796659 [details] [diff] [review]
1306589_1.patch
r=dylan
dkl++ for making this method="post" too
Attachment #8796659 -
Flags: review?(dylan) → review+
Updated•9 years ago
|
| Assignee | ||
Comment 6•9 years ago
|
||
Thanks. Waiting to commit once we are ready to push.
dkl
Comment 7•9 years ago
|
||
The risk from this bug to BMO does not meet the bug bounty bar, but thank you for reporting it.
Flags: sec-bounty? → sec-bounty-
| Assignee | ||
Comment 8•9 years ago
|
||
To https://github.com/mozilla-bteam/bmo.git
3078746..1257347 master -> master
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
| Assignee | ||
Comment 10•9 years ago
|
||
Yeah. Was waiting til it was released and then forgot after it was.
dkl
Group: bugzilla-security
Flags: needinfo?(dkl)
| Assignee | ||
Updated•1 year ago
|
Keywords: reporter-external
You need to log in
before you can comment on or make changes to this bug.
Description
•