Gmail may have a serious security vulnerability that can result in the leaking of sensitive private information randomly to people you don’t know, haven’t contacted, and have nothing to do with.
It would seem that between the way Gmail saves and retrieves sessions, existing sessions are authenticated, and views are cached there are one or more loopholes that allow data from a different account (that has nothing to do with yours) to be served instead of the correct data.
I don’t know why, but here’s the how:
- Firefox 3 opened to Gmail on Ubuntu.
- Session accidentally reset with ctrl+alt+bkspc
- Upon reboot & restarting of Firefox, Firefox requested the URIs that were previously open before the crash, partially loading data from local cache and the rest dynamically from the web (because of the AJAX portions of the Gmail interface).
The result:
- Gmail loaded up the email account of a user I’d never contacted before, never heard of, and never knew existed.
- I could see the front page of this user’s inbox, including the people he’d recently contacted, the brief summary of all messages, the total number of messages in the inbox, the number of unread messages in other folders, the dates of all correspondences, and a number of contacts (again, none that I have had contact with) in the sidebar.
- The number of remaining Gmail invites, the amount of space used, and other status values also reflected this mysterious individual’s account.
- I couldn’t browse deeper than the main page of the inbox. Emails couldn’t be opened, nothing past the first 50 correspondences could be seen, and I couldn’t switch to another folder.
- Attempts to do any of the above resulted in Gmail’s “Oops… the system encountered a problem (#102) – Retrying in XXs… <Retry Now>”
Parts of the Gmail interface contained values pertaining to my own account (for instance, the online status indicator) while others referred to this other individual’s account instead.
It’s very bizarre. I don’t know if it can be readily reproduced, but I'd imagine if you forced an exit of Firefox 3 and kept on firing it back up at some point or another you'd see similar behavior. Of course, a deeper analysis of what data Firefox 3 requests from Gmail's servers verses what's served from the local session cache may yield further information that could possibly be used to actively take advantage of this data leak.
It seems that Firefox requests a cached session complete with cookies and all from the Gmail URI, which in turn loads the Gmail javascript files that are responsible for retrieving the data associated with a particular email account via AJAX. At this point, either the session key is associated with another account and so Gmail retrieves the information assumming the session to be properly authenticated or else the expired session somehow causes Gmail to get data from elsewhere...
Screenshots of this behavior:
Gmail displaying the other user's information:
Searching for this user in my own account yields no results:
As we've previously mentioned, NeoSmart Technologies is a big proponent of Full Disclosure. We've contacted the security department at Google and will post their reply if/when it's available. We've also taken what we feel are the appropriate steps in this case with regards to the screenshots above in terms of what's been made visible and what's been blanked out for privacy concerns.
Update
The Google Security Team sent a reply to our inquiry. According to them, this behavior might be caused by broken ISP proxying, pending further investigation. This post will be further updated as soon as new information becomes available.
Update
Google has confirmed that was the result of an ISP caching/proxing problem, and that it's been known to happen. It seems some ISPs are over zealous in their caching attempts (probably to save some money) - and you can add Cyberia to that list. Much thanks to Chris Evans of the Google Security Team for his feedback on the issue and prompt responses - that's the way security is supposed to be handled!

You left the email address unobfuscated in the title bar and tab header
Thanks for the heads-up, it's been fixed.
The title in the 2nd screenshot still hasn't been obfuscated. =)
I'll try to reproduce this on my XP and Ubuntu partitions.
BTW, I got this error in Firefox 3 while I was trying to use the BBC media player. Do you think it's just my system?
"Runtime error!
Program: D:\Program Files\Mozzila Firefox\Firefox.exe
An application has made an attempt to load the C runtime incorrectly
R6034 Please contact the application's support team for more information."
The lack of pixelization on the second screenshot was a caching issue, fixed now.
I see, interesting.
I've had this sort of thing happen with Google News and suspected it was due to ISP caching issues--would be interesting to see if you share an ISP with the other person.
--Phil.
That email guy has not so much diversity in his friends. Sad.
It's been confirmed to be a caching issue.