[Cosmo-dev] securing access to items in multiple collections
Randy Letness
randy at osafoundation.org
Thu Sep 27 10:00:31 PDT 2007
Yesterday Brian, Mimi and I chatted about how cosmo needs to tighten its
security when it comes to items in multiple collections. Here is the
scenario:
1. User subscribes to collection 1 with a read-write ticket
2. User adds an item from the subscribed collection 1 to a personal
collection 2.
3. User publishes collection 2, which contains an item that they didn't
create.
Currently, the protocol doesn't perform any extra authorization checks
in order to add an item to a published collection. So there really
isn't a way for the server to determine if a user really has write
access to an item and cosmo just assumes they do. I think everyone
agrees that this needs to be fixed.
We felt the best way to fix this in the short term was to add a list of
tickets (probably as a http header) to each morse-code publish/update
and the server will use those tickets to verify that a user has write
access (either because they own the item or because one of the tickets
provided allows access) to an item before adding that item to their
collection. Once an item has been added to a collection, the owner of
that collection and anyone with a read-write ticket to that collection
essentially has read-write access to that item.
This will require the client to keep track of which items were imported
using a ticket, associate a ticket to an item, and generate a list of
relevant tickets to include in the morse code request to prevent the
server from rejecting a publish/update due to not being properly
authorized. There are some other details that we would need to hash out
(when and where to include tickets, what is the user experience if the
request is denied, etc).
Thoughts?
-Randy
More information about the cosmo-dev
mailing list