Vulnerabilities / Threats
9/11/2008
06:14 PM
Connect Directly
LinkedIn
Twitter
Google+
RSS
E-Mail
50%
50%

CookieMonster Can Steal HTTPS Cookies

The Python-based tool actively gathers insecure SSL information and records that as well as normal HTTP cookies to Firefox-compatible cookie files.

A so-called CookieMonster attack is coming, and if you use Web-based services that involve login credentials, such as Web e-mail or online banking, you may want to turn your fear and paranoia dial to 11, one researcher warns.

"CookieMonster is a Python-based tool that actively gathers insecure HTTPS cookies, and records these as well as normal http cookies to Firefox compatible cookie files," explains Mike Perry, the security researcher who created the software, in a documentation file.

HTTPS is supposed to be secure; the "S" stands for Secure Sockets Layer, or SSL.

Sadly, it turns out that many Web sites do not properly set the "Encrypted Sessions Only" property of their cookies. Such sites will send HTTPS cookies in the open, unprotected. This allows an attacker to conduct a cross-site request forgery attack, to inject spoofed data into any Web page that the user visits, and thereby retrieve related cookies.

Because HTTPS cookies are full of tasty authentication information, they can be used to access online banking accounts, Webmail accounts, and the like.

"The most crucial aspect of this sort of attack that most people seem to miss is its ability to cull arbitrary cookies for a list of insecure domains from every client IP on a network even when the user is not using those sites at the time," Perry explains in a blog post. "The second most crucial aspect is how the tool is still able to compromise arbitrary insecure SSL sites in the common case without the need to provide such a target list."

Perry has made CookieMonster available to a limited set of security researchers and plans to make it available to the public shortly.

Perry proposes the following test to see whether sites you use are vulnerable: "To check your sites under Firefox, go to the Privacy tab in the Preferences window, and click on 'Show Cookies.' For a given site, inspect the individual cookies for the top level name of the site, and any subdomain names, and if any have 'Send For: Encrypted connections only,' delete them. Then try to visit your site again. If it still allows you in, the site is insecure and your session can be stolen. You should report this to the site maintainer."

Having tried these steps with two "Encrypted connections only" Google cookies, Google appears to be vulnerable to a CookieMonster attack. A Google spokesperson confirmed this to be the case and said the company's engineers are working with Perry to eliminate the vulnerability.

"Gmail users concerned about this issue can protect themselves by enabling the always-https option in their accounts," the Google spokesperson said in an e-mail. "The fix we're planning to roll out shortly is aimed at users who haven't activated the https-only preference."

Google is hardly the only company affected. Perry last month posted a list of sites that appeared to be vulnerable at the time. Among the sites listed are various banks and travel sites.

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Dark Reading Must Reads - September 25, 2014
Dark Reading's new Must Reads is a compendium of our best recent coverage of identity and access management. Learn about access control in the age of HTML5, how to improve authentication, why Active Directory is dead, and more.
Flash Poll
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2012-5485
Published: 2014-09-30
registerConfiglet.py in Plone before 4.2.3 and 4.3 before beta 1 allows remote attackers to execute Python code via unspecified vectors, related to the admin interface.

CVE-2012-5486
Published: 2014-09-30
ZPublisher.HTTPRequest._scrubHeader in Zope 2 before 2.13.19, as used in Plone before 4.3 beta 1, allows remote attackers to inject arbitrary HTTP headers via a linefeed (LF) character.

CVE-2012-5487
Published: 2014-09-30
The sandbox whitelisting function (allowmodule.py) in Plone before 4.2.3 and 4.3 before beta 1 allows remote authenticated users with certain privileges to bypass the Python sandbox restriction and execute arbitrary Python code via vectors related to importing.

CVE-2012-5488
Published: 2014-09-30
python_scripts.py in Plone before 4.2.3 and 4.3 before beta 1 allows remote attackers to execute Python code via a crafted URL, related to createObject.

CVE-2012-5489
Published: 2014-09-30
The App.Undo.UndoSupport.get_request_var_or_attr function in Zope before 2.12.21 and 3.13.x before 2.13.11, as used in Plone before 4.2.3 and 4.3 before beta 1, allows remote authenticated users to gain access to restricted attributes via unspecified vectors.

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
In our next Dark Reading Radio broadcast, we’ll take a close look at some of the latest research and practices in application security.