Tuesday, 10 June 2014

Covert Redirect Vulnerability Related to OAuth 2.0 and OpenID

Covert Redirect Vulnerability Related to OAuth 2.0 and OpenID


A serious Covert Redirect vulnerability related to OAuth 2.0 and OpenID has been found. Almost all major providers of OAuth 2.0 and OpenID are affected, such as Facebook, Google, Yahoo, LinkedIn, Microsoft, Paypal, GitHub, QQ, Taobao, Weibo, VK, Mail.Ru, Sohu, etc.



It could lead to Open Redirect attacks to both clients and providers of OAuth 2.0 or OpenID. 


For OAuth 2.0, these attacks might jeopardize “the token” of the site users, which could be used to access user information. In the case of Facebook, the information could include the basic ones, such as email address, age, locale, work history, etc. If “the token” has greater privilege (the user needs to consent in the first place though), the attacker could obtain more sensitive information, such as mailbox, friends list and online presence, and even operate the account on the user's behalf. 


For OpenID, the attackers may get user's information directly. Compounded by the large number of companies involved, this vulnerability could lead to huge consequences if left unresolved. 



More Details:


Blog Youtube





Q&A

Why is it a serious vulnerability?
▪ It enables Open Redirect Attacks
▪ It could lead to sensitive information leakage
▪ It has wide coverage: most of the major internet companies that provide authentication/authorization services
▪ It is difficult to patch


How widespread is the vulnerability?

Almost all major OAuth 2.0 and OpenID providers are affected.
List of affected major OAuth 2.0 and OpenID providers:

Website Company Blog Detail POC Video
facebook.com Facebook Blog Youtube
google.com Google Blog Youtube
linkedin.com LinkedIn Blog Youtube
yahoo.com Yahoo Blog Youtube
live.com Microsoft Blog Youtube
vk.com VK Blog Youtube
qq.com Tencent Blog Youtube
weibo.com Sina Blog Youtube
paypal.com PayPal Blog Youtube
mail.ru Mail.Ru Blog Youtube
taobao.com Alibaba Blog Youtube
sina.com.cn Sina Blog Youtube
sohu.com Sohu Blog Youtube
163.com 163 Blog Youtube
github.com GitHub Blog Youtube
alipay.com Alibaba Blog Youtube
... ... ... ...
★ Website ranking is based on Alexa.



Who should be responsible for the vulnerability?

The vulnerability is usually due to the existing weakness in the third-party websites. However, they may be unaware of the vulnerability. Or they do not bother to fix it. One concern is the cost. And the other is that in their view, the host company is responsible for making the attacks appear more credible; therefore, it is not solely their problem. The onus would fall onto the Big Brother (the provider). However, to the provider, the problem does not originate from its own website. Even if it is willing to take on the responsibility, it has to gain cooperation from all the clients, which is nonetheless a daunting task.

In my opinion, the providers should be responsible for the vulnerability because the attacks are mainly targeted at them.

As the internet becomes ever more connected, it is no longer sufficient to ensure security by safeguarding one's own site without paying attention to that of its neighbours.



How to patch the vulnerability?

The patch of this vulnerability is easier said than done. If all the third-party applications strictly adhere to using a whitelist. Then there would be no room for attacks. However, in the real world, a large number of third-party applications do not do this due to various reasons. This makes the systems based on OAuth 2.0 or OpenID highly vulnerable.

An alternative solution is the providers developing a more thorough verification procedure to prevent such attacks.



What is the meaning of the logo?

The logo depicts the three parties involved in the attack: the provider (top-left), the third-party application used by the client (bottom) and the attacker (top-right).

Due to the loophole in the third-party application, the attacker is able to attack the provider through the application. The client therefore acts as a bridge between the provider and the attacker, albeit unintentionally. The attack could be seen as a redirect from the client but it is preceded or masked by a redirect from the provider to the client.



Why it is called Covert Redirect Vulnerability?

A Covert Redirect is an application that takes a parameter and redirects a user to the parameter value WITHOUT SUFFICIENT validation.

The name Covert Redirect is derived from and to contrast with the existing vulnerability Open Redirect. An Open Redirect is an application that takes a parameter and redirects a user to the parameter value WITHOUT ANY validation (OWASP). If a website is exposed to Open Redirect attack, it is often because of its own negligence.

On the other hand, the Covert Redirect vulnerability related to OAuth 2.0 and OpenID is, in the author’s view, a result of the provider’s overconfidence in its clients/partners. The provider relies on the clients to provide a list of “trustworthy” domains and assumes all would be safe. However, without sufficient verification of the redirected URLs, no safety could be guaranteed.



Who found the vulnerability?

The vulnrability was found by WANG Jing, a PhD student in mathematics from Nanyang Technological University.



No comments:

Post a Comment