LinkedIn cookie vulnerable, claims researcher
The user is gone but the session lingers on
Fresh from an IPO in which its bankers sent millions to pre-float insiders by low-balling its price, LinkedIn has been accused of slack security by Indian security Rishi Narang.
Narang, who published his analysis of LinkedIn cookie handling here, identified two cookie handling problems: an SSL cookie is used without having its “secure” flag set, and cookies are available after the end of authenticated sessions.
In the first case, all cookies, including JSESSIONID and LEO_AUTH_TOKEN, are held in plain text. Since “these cookies appear to contain session information”, these cookies could be captured over an established LinkedIn session.
Session expiration is, perhaps, a more serious problem. Since the cookies remain on a machine after a session is ended, a malicious user could use someone else’s cookies to re-establish a connection to their account (an obvious example being accessing a workmate’s computer).
When Narang identified this flaw, the cookies were set to persist for a year rather than being deleted at the termination of a session. “As a result, in just 15 minutes, I was successfully able to access multiple active accounts that belong to individuals from different global locations,” he wrote.
Narang says that the cookie can only be forced to expire if a user changes the LinkedIn password, logs out, and logs in with the new password.
LinkedIn has responded that it is addressing the cookie lifetime, which it will reduce to 90 days, and recommends using encrypted WiFi networks or VPNs for access. Its response, in full and unedited, goes like this:
“Whether you are on LinkedIn or any other site, it's always a good idea to choose trusted and encrypted wifi networks or VPNs whenever possible.
“If one isn't available, we already support SSL for logins and other sensitive web pages. Now, we are accelerating our existing plans to extend that SSL support across the entire site on an opt-in basis. And, we are going to reduce the lifespan of the cookies in question from 12 months to 90 days.
“LinkedIn takes the privacy and security of our members seriously, while also looking to deliver a great site experience, and we believe these two changes will allow us to strike that balance.” ®
LinkedIn sets their login cookie to be persistant, and also does not set the secure flag, so that it will be sent back to them whenever a user visits any page that has a LinkedIn profile or share button on it. This is similar to how the Facebook "like" button works, although LinkedIn seem to rely on getting the URL of the visited page through the Referer: header, while Facebook has it encoded in the query string (also). Normally login cookies expire at the end of a session, or after a short period, as they are only normally needed to maintain state during a logged in session.
This technique lets social network sites build up a record of the sites you visit and associate it with your login profile, so you can be targeted with ads etc.
And, we are going to reduce the lifespan of the cookies in question from 12 months to 90 days.
...which won't make any difference to the vulnerability described :(
Re: 12 months to 90 days
My thoughts exactly.
It's as though they didn't have any understanding of what the problem was in the first place.