February 22, 2013, 10:14 AM — Facebook has patched a serious vulnerability that could have allowed attackers to easily gain access to private user account data and control accounts by tricking users into opening specifically crafted links, a Web application security researcher said late Thursday.
Nir Goldshlager, the researcher who claims to have found the flaw and reported it to Facebook, posted a detailed description and video demonstration of how the attack worked on his blog.
The vulnerability would have allowed a potential attacker to steal sensitive pieces of information known as OAuth access tokens. Facebook uses the OAuth protocol to give third-party applications access to user accounts after users approve them. Each application is assigned a unique access token for every user account.
Goldshlager found a vulnerability on Facebook's websites for mobile and touch-enabled devices that stemmed from improper sanitization of URL paths. This allowed him to craft URLs that could have been used to steal the access token for any application a user had installed on their profile.
While most applications on Facebook are third-party apps that users need to manually approve, there are a few built-in applications that are pre-approved. One such application is Facebook Messenger; its access token doesn't expire unless the user changes his password and it has extensive permissions to access account data.
Facebook Messenger can read, send, upload and manage messages, notifications, photos, emails, videos, and more. The URL manipulation vulnerability found on m.facebook.com and touch.facebook.com, could have been exploited to steal a user's access token for Facebook Messenger, which would have given the attacker full access the account, Goldshlager said.
The attack URL could have been shortened with one of the many URL shortener services and sent to users masquerading as a link to something else. The attack would also have worked on accounts that had Facebook's two-factor authentication enabled, Goldshlager said.
With the access token and the Facebook user ID, an attacker can extract information from the user account by using the Graph API Explorer, a tool for developers available on Facebook's site, Goldshlager said Friday via email.
According to Goldshlager, the Facebook Security Team fixed the vulnerability. "Facebook has a professional security team and they fix issues very fast," he said.
Facebook did not immediately respond to an inquiry sent Friday seeking information on whether the vulnerability had been exploited for malicious purposes before or after Goldshlager found it and reported it. The company lists Nir Goldshlager on their "Thank You" page for whitehat security researchers for 2013.