Keep Calm and Stay Vigilant, OpenID and OAuth are Vulnerable

OpenID and OAuth are protocols responsible for those “Login with Facebook” and “Authorize with Google” buttons you see on almost every site nowadays. Of course, there is a hack for that™, but you don’t need neither panic nor change your password. Read on for our simple action plan.

Just a few weeks after the disturbing Heartbleed bug discovery, an ordinary Internet citizen like you and me may need to be concerned with another seemingly widespread issue, and it has no easy fix. It is the exact definition of a “Covert redirection” bug, recently publicized by Wang Jing, a PhD student in mathematics at the Nanyang Technological University in Singapore. The issues were found inside popular Internet protocols OpenID and Oauth; the former is utilized when you log in to web sites using your existing login from Google, Facebook, LinkedIN, etc., and the latter comes into play when you authorize sites, apps or services with Facebook/G+/etc., without actually revealing your password and login to third-party sites. These two are typically used in conjunction, and as it turns out, may lead your information into the wrong hands.

The threat

Our friends at Threatpost have a more technical explanation of the issue, along with a link to the original research, but we’ll skip unnecessary details and just describe the possible attack scenario and consequences. First, a user visits a malicious phishing site, which has those typical “Login with Facebook” buttons. A phishing site may closely resemble one of the popular 3rd-party services or disguise itself as an entirely new service. Once you click on the button, a real Facebook/G+/LI popup will appear, prompting the user to enter their login and password information to authorize the aforementioned (and probably reputable) service to access their user profile. Finally, the authorization to use the profile is sent to the wrong (phishing) site using improper redirection.

First, a user visits a phishing site and tries to login with Facebook or other OpenID providers.

At the end of the day, a cybercriminal receives a proper authorization (OAuth token) to access the victim’s profile with whatever permissions the original application has ― in the best case, it’s just an access to basic user details; in the worst-case scenario, it is the ability to read contacts, send messages, etc.

Is it fixed? Not really

This threat probably won’t go away anytime soon, as the fix must be performed both on the provider side (Facebook/LinkedIn/Google, etc) and client side (third-party app or service). The OAuth protocol is still in beta, and various providers use different implementations, which vary in their ability to counteract the aforementioned attack scenario. LinkedIn was better positioned to implement the fix and took a more strict direction of handling things by requiring every third-party developer to provide a list of proper redirects. As of now, every app using LinkedIn authorization is either safe or nonfunctional. Things are different at Facebook, which is unhappy to have both a much wider set of third-party apps and maybe older OAuth implementation. That’s why Facebook reps told Jing that it “isn’t something that can be accomplished in the short term.”

There are many other providers, which seem to be vulnerable (check the picture below), so if you log in to some sites using these services, you must take action.


Your action plan

For the most cautious ones, the bulletproof solution would be giving up using OpenID and those handy “Login with…” buttons for a few months. You may also benefit from increased privacy, as using those logins from social networks enables much more efficient tracking of your online behavior and allows more and more sites to read your basic demographic data. To avoid the hurdle with memorizing tens or even hundreds of different logins for various sites, you may finally start using an efficient password manager. Most services today are equipped with multi-platform clients and cloud sync to ensure you have access to your passwords on every device you own.

However, if you plan to continue using OpenID authorization, there is no immediate danger in doing so. You just have to be very vigilant and avoid any phishing scams which typically start with some disturbing letter in your inbox or a provocative link on Facebook or other social network. If you log in to some service using Facebook/Google/etc., make sure you open the site of this service using a manually typed address or a bookmark, not the link from your emails or messengers. Double check the address bar to avoid visiting sketchy sites, and don’t sign up for new services with OpenID, unless you are 100% sure that the service is reputable and you’ve landed on the proper web site. In addition, use a safe browsing solution like Kaspersky Internet Security ― Multi-Device, which prevents your browser from visiting dangerous places, including phishing sites.

This is just an ordinary exercise in caution, which every Internet user should perform on a daily basis. Phishing threats are widespread and effective, leading to every kind of digital property loss, including: credit cards numbers, email logins and so on. The “Covert redirect” bug in OpenID and OAuth is just one more reason to do it―no exceptions allowed.