The issue concerns a Facebook feature that allows a user to send another user who is not their friend a message as well as an attachment. Facebook prohibits sending executable files, but a security penetration tester found a way to circumvent the filter.
Nathan Power, who works for the technology consultancy CDW, wrote on his blog that Facebook parses part of a POST request to the server to see if the file being sent should be allowed.
If an executable is attached, Facebook warns that it can’t be sent. But by modifying the POST request – specifically with an extra space after the file name that is to be sent – an executable could be attached. That poses a danger because it could allow a hacker to send, for instance, a keylogging program to another user in a kind of spear-phishing attach. The victim would then need to be convinced to open and run the file.
In a statement, Facebook’s Security Manager Ryan McGeehan wrote that a successful attack would require “an additional layer of social engineering.” It also only allows the attacker to send an obfuscated renamed file to another Facebook user one at a time.
Facebook doesn’t rely solely on the identification of a file by what it purports to be in name to protect users but also does a security scan of files “so we have defense in depth for this sort of vector,” McGeehan wrote. He also said that webmail providers face the same problem with malicious attachments and that “this finding is a very small part of how we protect against this threat overall.”
“At the end of the day, it is more practical for a bad guy to hide an .exe on a convincing landing page behind a URL shortener, which is something we’ve been dealing with for a while,” McGeehan wrote.
Power wrote Facebook was notified of the issue on September 30 and the company acknowledged the issue on late last week.