Security researchers have discovered a flaw that creates a means for a malicious website to grab hold of a Facebook user's private data without their consent as well as to post messages impersonating the user on the social networking website.
The authentication-related bug was discovered by researchers Rui Wang and Zhou Li, who reported the flaw to Facebook last week. The social networking site responded to the report by patching the hole last weekend, and by adding Rui and Zhou to its list of security researchers who have helped make Facebook safer for users.
The vulnerability only worked if a user had visited a malicious web while logged into Facebook and only in social network profiles that allow applications to run, a feature that the vast majority of Facebook users enable. When run successfully, the attack would have potentially embarrassing consequences.
"If the user has ever allowed a website – YouTube, Farmville or ESPN, etc – to connect to Facebook, she will lose her private data to the malicious website, or even enable the website to post phishing messages on Facebook on her behalf," Rui explained.
Information disclosure bugs of this type often stem from web-based attacks, such as cross-site scripting and cross-site request forgery. In this case, however, the vulnerability stems from a bug in one of Facebook’s authentication mechanisms, Rui explained.
The vulnerability enables the malicious website to impersonate any other websites to cheat Facebook, and obtain the same data access permissions on Facebook those websites receive. Bing.com by default has the permission to access any Facebook users' basic information such as name, gender, etc, so our malicious website is able to de-anonymize the users by impersonating Bing.com. In addition, due to business needs, there are many websites requesting more permissions, including accessing to a user's private data, and publishing content on Facebook on her behalf. Therefore, by impersonating those websites, our website can obtain the same permissions to steal the private data or post phishing messages on Facebook on the user's behalf.
The exploit is generic, so we do not need to write an exploit for each Facebook app/website. The only parameter we need is the app ID of a Facebook app/website.
The two researchers – who previously discovered a range of side channel attacks involving web apps – have illustrated the attack via a video posted to YouTube that can be found here.
We ran the vulnerability by security experts at Sophos, who confirmed that the vulnerability worked – but only in cases where a Facebook user allows applications. Installation of a browser-based Flash player is another necessary prerequisite in order to pull off the attack.
"Facebook's website is clearly a complex piece of software, and it is almost inevitable that vulnerabilities and bugs will be found from time to time," a security researcher at Sophos explained. "The risk is that there's so much sensitive personal info about users at risk.
"Facebook's security team should be applauded for fixing the vulnerability promptly once it was reported to them," he added. ®