It's now common for websites to use a "Login with Facebook" button on their sites as a convenience for users. However, security researchers from Princeton University have discovered that some advertising and analytics services are siphoning user data from these pages when such a button is present.
In their posting, Princeton's Steven Englehardt, Gunes Acar and Arvind Narayanan found insecure design practices allowed at least seven third parties to abuse the websites' access to Facebook user data on 434 of the top 1 million sites.
What happens is that the user clicks the Facebook button, and the Facebook servers will respond with the Facebook account data, which has been previously authorized for that specific site.
In their report, the three researchers noted: "We believe the websites embedding these scripts are likely unaware of this particular data access."
Even though the user ID collected through the Facebook API will be specific to the requesting website -- this would limit cross-site tracking -- the IDs can be used to retrieve the global Facebook ID, user's profile photo and other public profile information.
This information can then be used to identify and track users across websites and devices.
Another misuse of this Facebook login that the researchers found could trick a user to logging in with Facebook without realizing that they were doing so. They discovered that there was a hidden iframe that was injected, and this would pass the user's information to the embedding script indiscriminately. That meant that any malicious site could have used that iframe to identify visitors.
The fundamentals of network security are being redefined -- don't get left in the dark by a DDoS attack! Join us in Austin from May 14-16 at the fifth-annual Big Communications Event. There's still time to register and communications service providers get in free!
The researchers think this is a bigger problem than just one that can be laid at Facebook's feet. They wrote in their blog:
This unintended exposure of Facebook data to third parties is not due to a bug in Facebook's Login feature. Rather, it is due to the lack of security boundaries between the first-party and third-party scripts in today's web.
The Princeton team realize that what they have described is likely to exist for most social login providers and on mobile devices. Indeed, they found scripts which appear to grab user identifiers from the Google Plus API, as well as from the Russian social media site VK, but did not go into detail about them.
It's the social network that will ultimately have to deal with these problems. Tightening the use of app-scoped IDs may help.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.