A Covert Redirect vulnerability related to Facebook was found and reported.
Facebook said "Short of forcing every single application on the platform to use a whitelist, which isn't something that can be accomplished in the short term, do you have any recommendations on actions we can take here?"
In my reply, I suggested "For any URL, it has a particular value "&h". If the URL is changed. there is no permission any more. That means the modified URL will not get any "&h". Because it is illegal."
Facebook agreed. "As you mentioned, that's how our Linkshim system works. As I said, that doesn't seem to be a feasible solution for an OAuth endpoint where the URL needs to be provided by a third-party site to arbitrary random users."
Facebook's SSO system is susceptible to Attacks. More specifically, the authentication of parameter "&redirct_uri" in SSO system is insufficient. It can be misused to design Open Redirect Attacks to Facebook.
At the same time, it can be used to collect sensitive
information of both third-party app and users by using the following
It increases the likelihood of successful Open Redirect Attacks to third-party websites, too.
The vulnerabilities occurs at page "/dialog/oauth?" with parameter "&redirect_uri", e.g.
Before acceptance of third-party application:
When a logged-in Facebook user clicks the URL () above, he/she will be asked for consent as in whether to allow a third-party website to receive his/her information. If the user clicks OK, he/she will be then redirected to the URL assigned to the parameter "&redirect_uri".
If a user has not logged onto Facebook and clicks the URL () above, the same situation will happen upon login.
After acceptance of third-party application:
A logged-in Facebook user would no longer be asked for consent and could be redirected to a webpage controlled by the attacker when he/she clicks the URL ().
For a user who has not logged in, the attack could still be completed after a pop-up page that prompts him/her to log in.
(1) Facebook would normally allow all the URLs that belong to the domain of an authorized third-party website. However, these URLs could be prone to manipulation. For example, the "&redirect_uri" parameter in the URLs is supposed to be set by the third-party websites, but an attacker could change its value to make Attacks.
Hence, a user could be redirected from Facebook to a vulnerable URL in that domain first and later be redirected from this vulnerable site to a malicious site unwillingly. This is as if the user is redirected from Facebook directly. The number of Facebook's SSO client websites is so huge that such Attacks could be commonplace.
Before acceptance of the third-party application, Facebook's SSO system makes the redirects appear more trustworthy and could potentially increase the likelihood of successful Open Redirect Attacks of third-party website.
Once the user accepts the application, the attackers could completely bypass Facebook's authentication system and attack more easily.
It might be of Facebook's interest to patch up against such attacks.
(2) Used one of webpages for the following tests. The webpage is "http://www.tetraph.com/essayjeans/poe.... We can suppose it is malicious and contains code that collect sensitive information of both third-party app and users.
Below is an example of a vulnerable third-party domain:
Vulnerable URL in this domain:
Vulnerable URL from Facebook that is related to ask.com:
(3) The following URLs have the same vulnerabilities.
Tests were performed on Firefox (26.0) in Ubuntu (12.04) and IE (9.0.15) in Windows
WANG Jing, a PhD student in mathematics from Nanyang Technological University.