[tor-bugs] #5742 [Firefox Patch Issues]: Fix image cache url isolation
Tor Bug Tracker & Wiki
torproject-admin at torproject.org
Fri Jul 13 00:56:40 UTC 2012
#5742: Fix image cache url isolation
----------------------------------------------+-----------------------------
Reporter: mikeperry | Owner: mikeperry
Type: defect | Status: new
Priority: major | Milestone:
Component: Firefox Patch Issues | Version:
Keywords: tbb-linkability, MikePerry201207 | Parent:
Points: 20 | Actualpoints: 2
----------------------------------------------+-----------------------------
Changes (by mikeperry):
* points: => 20
* actualpoints: => 2
Comment:
Ok, I started looking into this more and it would seem that the "cacheKey"
argument to imgLoader::LoadImage is often null.. Elsewhere in the
imgLoader, the actual cache key is constructed directly from the URI
without even a channel available, so we can't use
nsHttpChannel::AssembleCacheKey() to get the expected cacheKey.
I think this might mean that several functions in the non-critical paths
of the image loader will have to become O(N), to be able to continue to
operate on uri strings and retain API compatibility. Those functions will
just search over the cache and return/remove the first matching URI,
isolated or not. We'll need to double check these functions for cross-
domain info leaks, though.. I think the only dangerous one in that regard
is imgLoader::FindEntryProperties().
For the actual cached image storage and retrieval in
imgLoader::LoadImage() and imgLoader::LoadImageWithChannel(), we'll have
to do our best to construct a url domain-isolated cacheKey using either
the referer uri, the channel, the notificationCallbacks, or who knows
what, depending upon availability.
In short, this is going to be a huge messy pile of pain. The only good
thing is that the image caching code hasn't changed since ~2001. Our patch
probably won't generate too many conflicts at that rate of code change.
This is probably going to take like a week to get right. :/
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/5742#comment:7>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list