He started with the discovery that by tinkering with the URL of the OAuth dialog (see image below) he can make users' land on an external website that can "record" their unique authentication token, then send it to a website controlled by him, where they get saved in a log file.
The user doesn't have to give permissions to a Facebook application in order for it to work.
By inserting into the URL the app_id of a built-in Facebook app such as Facebook Messenger - which has automatic access to all accounts and permission to do whatever it wants within them - Goldshlager was able to do the same.
And the best part of the attack is that the stolen and thus used access tokens work until users change their passwords, which could mean for a very, very long time.
According to the researcher, the exploit worked on all browsers, and would even work on accounts that have 2-step verification enabled.
Luckily for all of us, this flaw has already been patched by Facebook, but Goldshlager says that he found a couple of more and Facebook is still working on fixing them.
More details about this particular attack are available on his blog. Below is the PoC video:
By subscribing to our early morning news update, you will receive a daily digest of the latest security news published on Help Net Security.
With over 500 issues so far, reading our newsletter every Monday morning will keep you up-to-date with security risks out there.