I. BACKGROUND
Yahoo! Inc. is an American computer services company with a mission to "be
the most essential global Internet service for consumers and businesses". It
operates an Internet portal, including the popular Yahoo! Mail. The global network of Yahoo! websites received
3.4 billion page views per day on average as of October 2005.
Yahoo mail services are vulnerable to information leakage and authentication bypass which is caused due to improper caching of pages by the browser.
II. DESCRIPTION
Yahoo has an interesting approach where, within a valid browser session the pages can be viewed from the cache but after log out the back button cannot be used to view pages. This is achieved by setting the cache-control directive to private (Cache-Control:private), that allows caching of pages in the private cache on the browser. However each page has a javascript that checks a random value in a cookie, that is set at login and cleared at logout. If the value is not found then there is a redirect to the main login page. The presence of this value indicates a valid active session.
e.g
if(document.cookie != "" && document.cookie.indexOf("zI0XEB") == -1)
{
window.open("http://mail.yahoo.com", "_top");
}
During valid sessions yahoo sets a cookie T= zI0XEB
As this cookie is cleared at logout the back button takes you to the page but the above script redirects you to the main login page.
III. ANALYSIS
One work around the above scheme, is if we disable javascript after a valid session log out, and then try to hit the back button. What is observed is that the page is rendered very briefly before it detects that javascript has been disabled and redirects you to another page. However the window is long enough to catch a glimpse of the previous users private data.
e.g
Various tools can be used to intercept the redirect and cached private data of previous users can be viewed without login.
IV. DETECTION
Yahoo mail has been confirmed vulnerable.
V. WORKAROUND
Cenzic is currently unaware of any effective workarounds that can be implemented on the server in order to mitigate the risk of this vulnerability; however, there are workarounds available for client protection. Clients could disable caching of pages at the browser. This will prevent any pages from being cached and view later. Take note that employing this workaround could adversely affect browsing experience. The cache could also be cleared after browsing.
VI. VENDOR RESPONSE
Vendor claims to be working on the problem.
VII. CVE INFORMATION
VIII. DISCLOSURE TIMELINE
7/7/06 Initial vendor notification
??/??/??Initial vendor response
??/??/??Coordinated public disclosure
IX. CREDIT
Kishor Datar and Avinash Shenoi
X. LEGAL NOTICES
Copyright =A9
Permission is granted for the redistribution of this alert electronically. It may not be edited in any way without the express written consent of Cenzic. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically, please email for permission.
Disclaimer: The information in the advisory is believed to be accurate at the time of publishing based on currently available information. Use of the information constitutes acceptance for use in an AS IS condition. There are no warranties with regard to this information. Neither the author nor the publisher accepts any liability for any direct, indirect, or consequential loss or damage arising from use of, or reliance on, this information.