[cosmo-dev] options to fix security hole
Randy Letness
randy at osafoundation.org
Tue Feb 19 09:28:02 PST 2008
I'm having doubts about making the server + security fixes fully
backwards compatible with existing clients. I'm mainly talking about
silently failing when updating read-only items. I don't like the idea
that the client thinks something succeeded, when it really didn't. So
the use case is:
1. I share collection 1 RW using ticket T1
2. Jeffrey uses existing desktop to subscribe to collection 1, adds item
A from collection 1 to his collection 2, shares collection 2 RW with
Travis using RW ticket T2
3. Travis subscribes to collection 2 using ticket T2
4. Travis updates A, syncs. The server silently fails because A is RO
because it was added to collection 2 without a RW ticket..
The desktop Travis is using is out of sync with the server now because
it believes the updates were successful when in reality they failed.
Also, Travis will see different data if he uses the webui now because
the desktop has his local changes (which the client thought were synced
to the server) and the webui won't see these changes.
So what we could do instead is:
1. Require a RW ticket when adding existing items to new collections.
The thinking here is that currently there isn't a way to add read-only
items to a collection using the desktop.
2. Fail if a RW ticket is not provided for existing items to be added to
the collection.
This of course breaks existing desktop clients, but only in the case
where users want to add an item they don't own into their personal
collection. These users would receive and error message which would
direct them to upgrade to the newer version of the desktop in order to
do this. That way we don't have the problem of out-of-sync clients.
Then later on, we can support adding read-only items to a collection.
Does this seem reasonable?
-Randy
More information about the cosmo-dev
mailing list