Closed
Bug 1393851
Opened 8 years ago
Closed 5 years ago
[lift] Existence of Private Collections Leaked Via HTTP Status Code
Categories
(addons.mozilla.org :: Security, defect)
addons.mozilla.org
Security
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: u600423, Unassigned)
Details
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36
Steps to reproduce:
## Overview:
It is possible to determine the existence of a private collection based on the HTTP status code that is returned.
TODO: We should talk about this and see if there are any other areas of the application in which we should try and leak existence of things.
- maybe abuse reports for a specific user or add-on?
Steps to reproduce:
1. Create a collection with Account A
2. Copy the URL to view collection
3. Logout of Account A and log back in with Account B
4. As Account B visit the URL of the collection
Collection exists but user does not have access

If you change the collection URL to a collection that does not exist the response changes.

## Recommendations:
We recommend returning a 404 response for private collections, whether the collection exists or not.
Updated•8 years ago
|
Summary: Existence of Private Collections Leaked Via HTTP Status Code → [lift] Existence of Private Collections Leaked Via HTTP Status Code
Comment 1•8 years ago
|
||
The existing collection pages above are being replaced with pages on addons-frontend, that are retrieved via the API. Though the API would return the same status codes, afaik. Private collections are being deprecated along the way, but existing collections will stay private for now. cc'ing jorge to decide if we need to worry about exposing private collections in the meantime.
Flags: needinfo?(jorge)
Comment 2•8 years ago
|
||
I don't think this is worth worrying about before the new front-end lands. But maybe this should be filed as a front-end bug to make sure we show the 404 in both cases?
Flags: needinfo?(jorge)
Comment 3•8 years ago
|
||
Hmm, but private collections aren't staying around long term - you dropped the property in favour of random slugs in the PRD. We just re-implemented it in the API for now because it was a complicated migration process for existing private collections and didn't want to block on it. Does a deprecated feature need to be fully secured?
Comment 4•8 years ago
|
||
It doesn't need to be fully secured, but I'm not sure for how long we'll keep the old private collections, and I think it wouldn't be too hard to show the right error message in the new front-end. If I'm wrong about that, then we can just drop it and maintain the bug until we drop all private collections.
Comment 5•8 years ago
|
||
Adding Kumar to CC for this one to make sure we don't leak the presence of private collections via status code in the new frontend as it's implemented there.
Comment 6•8 years ago
|
||
> ...make sure we don't leak the presence of private collections via status code in the new frontend as it's implemented there.
We are not implementing private collections: https://docs.google.com/document/d/1DutmS8yco-hNiKJ1-0MrkAkze7Ue88xpA4b-MWx6MLI/edit
So I guess this bug is just about fixing the API.
Comment 7•8 years ago
|
||
> So I guess this bug is just about fixing the API.
Yes good point, it wouldn't make sense to special case something in the frontend if the API is always revealing the presence of private collections via status code.
Whilst we're not implementing the option of private collections they will still need to be available to collection owners until we offer some kind of one-directional migration.
Comment 8•5 years ago
|
||
Wont-fixing on the basis this is considered a minor issue.
Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•