Facebook said that the attackers exploited a vulnerability in Facebook's code that existed between July 2017 and September 2018. The vulnerability was the result of a complex interaction of three distinct software bugs and it impacted "View As," a feature that lets people see what their own profile looks like to someone else. It allowed attackers 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.
On September 25, Facebook identified the attack and the vulnerability. Within two days, the company says it closed the vulnerability, stopped the attack, and secured people's accounts by resetting the access tokens for people who were potentially exposed. As a precaution, the company also turned off "View As."
Facebook said that about 30 million users had their tokens stolen.
First, the attackers already controlled a set of accounts, which were connected to Facebook friends. They used an automated technique to move from account to account so they could steal the access tokens of those friends, and for friends of those friends, and so on, totaling about 400,000 people. In the process, however, this technique automatically loaded those accounts' Facebook profiles, mirroring what these 400,000 people would have seen when looking at their own profiles. That includes posts on their timelines, their lists of friends, Groups they are members of, and the names of recent Messenger conversations. Message content was not available to the attackers, with one exception. If a person in this group was a Page admin whose Page had received a message from someone on Facebook, the content of that message was available to the attackers.
Facebook said that the attackers used a portion of these 400,000 people's lists of friends to steal access tokens for about 30 million people. For 15 million people, attackers accessed two sets of information - name and contact details (phone number, email, or both, depending on what people had on their profiles). For 14 million people, the attackers accessed the same two sets of information, as well as other details people had on their profiles. This included username, gender, locale/language, relationship status, religion, hometown, self-reported current city, birthdate, device types used to access Facebook, education, work, the last 10 places they checked into or were tagged in, website, people or Pages they follow, and the 15 most recent searches. For 1 million people, the attackers did not access any information.
You can check whether they were affected by visiting Facebook's Help Center. In the coming days, the company will send customized messages to the 30 million people affected to explain what information the attackers might have accessed, as well as steps they can take to help protect themselves, including from suspicious emails, text messages, or calls.
Facebook said on a conference call that Facebook will not provide country-by-country breakdowns of the affected users.
"We're cooperating with the FBI, which is actively investigating and asked us not to discuss who may be behind this attack," Facebook said on a blog post.
Facebook did not rule out the possibility of smaller-scale attacks and said it would continue to investigate.