A leftover API that Facebook forgot to kill has left accounts open to spammers and scammers, says security Stephen Sclafani. The flaw means an attacker could view other users' messages and post status updates.
Sclafani found that a then mis-configured endpoint, since patched, allowed legacy REST API calls to be made on behalf of any Facebook fanatic provided their user ID was known.
The REST API endpoint was the still-active predecessor of Facebook's core Graph API that allowed developers to read and write data to Facebook.
Skilled attackers could exploit the vector to gain almost the same control of accounts as legitimate users. They could update users' statuses including posting links to friend timelines; publish and delete comments and notes; upload and delete photos, and 'like' content.
Sclafani said the API authentication flows were also vulnerable allowing for full account takeover, but were less likely to be successful as users had to click on an attackers' links.
"All of this could be done without any interaction on the part of the user," Sclafani (@Stephen) said.
"Both the REST API web and desktop authentication flows were vulnerable to CSRF (cross-site request forgery) issues that led to full account takeover.
The legacy API was still used by many applications including Facebook's mobile app and so was not simply discarded, Facebook's security team said.
While there was no indication the flaw was exploited, nefarious minds could concoct a variety of means to monetise exploitation by blackmailing users of sensitive or high-profile accounts or by spamming inboxes.
Sclafani reported the flaw to Facebook in April and published details part one of a two-part blog this week. Menlo Park paid him a tidy $20,000 under its bug bounty program.
Loads of technical details are available on his blog. ®