In case you were wondering why you were logged out.
On Friday Morning, some 50 million people were logged out of their Facebook accounts. And, according to Facebook, a potential 90 million total were affected by a data breach, with the second group also being logged out. Said breach was a product of the “View As” feature; a feature which allows you to view your profile as anyone else would.
[…] it’s clear that attackers exploited a vulnerability in Facebook’s code that impacted “View As” a feature that lets people see what their own profile looks like to someone else. This allowed them to steal Facebook access tokens which they could then use to take over people’s accounts. Access tokens are the equivalent of digital keys that keep people logged in to Facebook so they don’t need to re-enter their password every time they use the app.Here is the action we have already taken. First, we’ve fixed the vulnerability and informed law enforcement.
Second, we have reset the access tokens of the almost 50 million accounts we know were affected to protect their security. We’re also taking the precautionary step of resetting access tokens for another 40 million accounts that have been subject to a “View As” look-up in the last year. As a result, around 90 million people will now have to log back in to Facebook, or any of their apps that use Facebook Login. After they have logged back in, people will get a notification at the top of their News Feed explaining what happened.
Third, we’re temporarily turning off the “View As” feature while we conduct a thorough security review.
To deal with the situation, Facebook reset the access tokens of all users that they believed to be affected by it. Hence, why you had to log back in. This is due to the fact that View As was bugged; when another user went, specifically, to watch a video, the viewer would generate a token for the viewer as if they were the uploader. Facebook explains this in their newsroom post:
Earlier this week, we discovered that an external actor attacked our systems and exploited a vulnerability that exposed Facebook access tokens for people’s accounts in HTML when we rendered a particular component of the “View As” feature. The vulnerability was the result of the interaction of three distinct bugs:
First: View As is a privacy feature that lets people see what their own profile looks like to someone else. View As should be a view-only interface. However, for one type of composer (the box that lets you post content to Facebook) — specifically the version that enables people to wish their friends happy birthday — View As incorrectly provided the opportunity to post a video.
Second: A new version of our video uploader (the interface that would be presented as a result of the first bug), introduced in July 2017, incorrectly generated an access token that had the permissions of the Facebook mobile app.
Third: When the video uploader appeared as part of View As, it generated the access token not for you as the viewer, but for the user that you were looking up.
It was the combination of these three bugs that became a vulnerability: when using the View As feature to view your profile as a friend, the code did not remove the composer that lets people wish you happy birthday; the video uploader would generate an access token when it shouldn’t have; and when the access token was generated, it was not for you but the person being looked up. That access token was then available in the HTML of the page, which the attackers were able to extract and exploit to log in as another user.
The attackers were then able to pivot from that access token to other accounts, performing the same actions and obtaining further access tokens.
Facebook has already patched the vulnerability out. That said, they’re unsure whether any data was taken due to the bug. They’ve also temporarily taken the View As feature offline for security review. Whether you still have any faith in Facebook’s ability to protect your data is an individual matter, though.