Cookies, the files that websites create in browsers to remember logged-in users and track other information about them, could be abused by attackers to extract sensitive information from encrypted HTTPS connections.
The issue stems from the fact that the HTTP State Management standard, or RFC 6265, which defines how cookies should be created and handled, does not specify any mechanism for isolating them or checking their integrity.
As such, Web browsers don’t always authenticate the domains that set cookies. That allows malicious attackers to inject cookies via plain HTTP connections that would later be transmitted for HTTPS connections instead of those set by the HTTPS sites themselves, the CERT Coordination Center (CERT/CC) at Carnegie Mellon University said in an advisory Thursday.
One of the reasons why this happens is because subdomains can set cookies that are valid for their parent domains or other subdomains.
For example, if subdomain.domain.com sets a cookie with the domain attribute of domain.com, that cookie might be sent by the browser to subdomain2.domain.com as well. The site hosted on subdomain2 might not be able to differentiate between its own cookie and the rogue one.
Cookies are also not isolated by port number or scheme. A server can host multiple websites accessible via the same domain, but on different port numbers. Those websites will be able to read and write each other’s cookies.
All these inconsistencies can allow man-in-the-middle attackers to perform so-called cookie injection or cookie tossing attacks that can be used to extract sensitive information from HTTPS connections.
A team of researchers from University of California, Berkeley, Tsinghua University in Beijing, the International Computer Science Institute and Microsoft tested the implications of such attacks on different high-profile HTTPS websites and presented their findings in August at the USENIX conference.
They found that they could hijack users’ chat gadgets in the Gmail interface, steal Google search histories, steal credit card information on China UnionPay’s website, hijack deposits on JD.com, hijack Google OAuth and BitBucket associations, track and manipulate shopping carts on e-commerce sites, track purchase history on Amazon.com and more.
“Some web browser vendors have noted previous attempts at more secure cookie management have been foiled due to the lack of a widely implemented standard,” the CERT/CC said in its advisory.
Until the standards bodies come up with a solution, the issue can be mitigated if websites use the HTTP Strict Transport Security (HSTS) mechanism to force browsers to always access them over secure HTTPS connections.
The latest versions of all major browsers support HSTS, but in order for this mechanism to be effective against cookie injection attacks, websites also need to implement it.
Unfortunately, HSTS adoption across HTTPS-enabled websites remains low. According to the latest statistics from the SSL Pulse project, only 4.5 percent of the Internet’s top 145,000 HTTPS websites currently support HSTS.