A Google Zero security researcher discovered a Facebook Messenger bug that allowed attackers to initiate a call and begin listening as soon as it started ringing. The severity of the bug prompted Facebook to award one of the largest bounties ever.
Vulnerabilities that don’t require any interaction from the victim are the most dangerous. In this case, attackers could have received audio data until the recipient of the call answered or the call timed out. It was also possible to send a custom message by using some reverse-engineering tools. Fortunately, some conditions had to be met for the vulnerability to be exploited.
“To exploit this issue, an attacker would have to already have the permissions to call this particular person by passing certain eligibility checks (e.g. being friends on Facebook),” says Facebook.
Security researcher Natalie Silvanovich published details on this bug, including the proof of concept and the exact steps an attacker would need to take for an intrusion.
“There is a message type that is not used for call set-up, SdpUpdate, that causes setLocalDescription to be called immediately,” Silvanovich explains. “If this message is sent to the callee device while it is ringing, it will cause it to start transmitting audio immediately, which could allow an attacker to monitor the callee’s surroundings.”
The proof of concept was tested on version 218.104.22.168.119 of Facebook Messenger for Android. Facebook received a 90-day disclosure deadline and it released an update for the application before details become public.
“After fixing the reported bug server-side, our security researchers applied additional protections against this issue across our apps that use the same protocol for 1:1 calling,” said Facebook. “This report is among our three highest bug bounties at $60,000, which reflects its maximum potential impact.”