Facebook Messenger Bug Allows Spying on Android Users
2020-11-20T15:11:25
ID THREATPOST:5121F056A99F51D23A4BB71AF117FA3C Type threatpost Reporter Elizabeth Montalbano Modified 2020-11-20T15:11:25
Description
Facebook has patched a significant flaw in the Android version of Facebook Messenger that could have allowed attackers to spy on users and potentially identify their surroundings without them knowing.
Natalie Silvanovich, a security researcher at Google Project Zero, discovered the vulnerability, which she said existed in the app’s implementation of WebRTC, a protocol used to make audio and video calls by “exchanging a series of thrift messages between the callee and caller,” she explained a description posted online.
In a normal scenario, audio from the person making the call would not be transmitted until the person on the other end accepts the call. This is rendered in the app by either not calling setLocalDescription until the person being called has clicked the “accept button,” or setting the audio and video media descriptions in the local Session Description Protocol (SDP) to inactive and updating them when the user clicks the button, Silvanovich explained.
“However, there is a message type that is not used for call set-up, SdpUpdate, that causes setLocalDescription to be called immediately,” she explained. “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.”
Silvanovich provided a step-by-step reproduction of the issue in her report. Exploiting the bug would only take a few minutes; however, an attacker would already have to have permissions—i.e., be Facebook “friends” with the user–to call the person on the other end.
Silvanovich disclosed the bug to Facebook on Oct. 6; the company fixed the flaw on Nov. 19, she reported. Facebook has had a bug bounty program since 2011.
In fact, Silvanovich’s identification of the Messenger bug—which earned her a $60,000 bounty–was one of several that the company highlighted in a blog post published Thursday celebrating the program’s 10th anniversary.
“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,” Dan Gurfinkel, Facebook security engineering manager, wrote in the post. He added that Silvanovich’s award is one of the three highest ever awarded, “which reflects its maximum potential impact.”
Facebook recently bolstered its bug bounty offering with a new loyalty program that the company claims is the first of its kind. The program, called Hacker Plus, aims to further incentivize researchers to find vulnerabilities in its platform by offering bonuses on top of bounty awards, access to more products and features that researchers can stress-test, and invites to Facebook annual events.
Silvanovich chose to donate the “generously awarded” bounty to GiveWell, a nonprofit that organizations charitable donations to ensure their maximum impact, she disclosed on Twitter.
Silvanovich is among a number of Google Project Zero researchers who have been active lately at identifying serious vulnerabilities in popular apps. In the past month, researchers from the group have not only discovered significant zero-day vulnerabilities in Google’s own Chrome browser, but also in Apple’s mobile devices and Microsoft Windows.
{"id": "THREATPOST:5121F056A99F51D23A4BB71AF117FA3C", "type": "threatpost", "bulletinFamily": "info", "title": "Facebook Messenger Bug Allows Spying on Android Users", "description": "Facebook has patched a significant flaw in the Android version of Facebook Messenger that could have allowed attackers to spy on users and potentially identify their surroundings without them knowing.\n\nNatalie Silvanovich, a security researcher at [Google Project Zero](<https://googleprojectzero.blogspot.com/>), discovered the vulnerability, which she said existed in the app\u2019s implementation of WebRTC, a protocol used to make audio and video calls by \u201cexchanging a series of thrift messages between the callee and caller,\u201d she explained a [description](<https://bugs.chromium.org/p/project-zero/issues/detail?id=2098>) posted online.\n\nIn a normal scenario, audio from the person making the call would not be transmitted until the person on the other end accepts the call. This is rendered in the app by either not calling setLocalDescription until the person being called has clicked the \u201caccept button,\u201d or setting the audio and video media descriptions in the local Session Description Protocol (SDP) to inactive and updating them when the user clicks the button, Silvanovich explained.\n\n[](<https://threatpost.com/newsletter-sign/>)\n\n\u201cHowever, there is a message type that is not used for call set-up, SdpUpdate, that causes setLocalDescription to be called immediately,\u201d she explained. \u201cIf 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\u2019s surroundings.\u201d\n\nSilvanovich provided a step-by-step reproduction of the issue in her report. Exploiting the bug would only take a few minutes; however, an attacker would already have to have permissions\u2014i.e., be Facebook \u201cfriends\u201d with the user\u2013to call the person on the other end.\n\nSilvanovich disclosed the bug to Facebook on Oct. 6; the company fixed the flaw on Nov. 19, she reported. Facebook has had a bug bounty program [since 2011](<https://threatpost.com/facebook-bug-bounty-program-pays-out-5-million-in-five-years/121278/>).\n\nIn fact, Silvanovich\u2019s identification of the Messenger bug\u2014which earned her a $60,000 bounty\u2013was one of several that the company highlighted in a [blog post](<https://about.fb.com/news/2020/11/bug-bounty-program-10th-anniversary/>) published Thursday celebrating the program\u2019s 10th anniversary.\n\n\u201cAfter 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,\u201d Dan Gurfinkel, Facebook security engineering manager, wrote in the post. He added that Silvanovich\u2019s award is one of the three highest ever awarded, \u201cwhich reflects its maximum potential impact.\u201d\n\nFacebook recently bolstered its bug bounty offering with [a new loyalty program](<A%20loyalty%20program%20as%20part%20of%20its%20bug-bounty%20offering,%20which%20aims%20to%20further%20incentivize%20researchers%20to%20find%20vulnerabilities%20in%20its%20platform.>) that the company claims is the first of its kind. The program, called Hacker Plus, aims to further incentivize researchers to find vulnerabilities in its platform by offering bonuses on top of bounty awards, access to more products and features that researchers can stress-test, and invites to Facebook annual events.\n\nSilvanovich chose to donate the \u201cgenerously awarded\u201d bounty to [GiveWell](<https://twitter.com/GiveWell>), a nonprofit that organizations charitable donations to ensure their maximum impact, she disclosed [on Twitter](<https://twitter.com/natashenka/status/1329508608866848768>).\n\nSilvanovich is among a number of Google Project Zero researchers who have been active lately at identifying serious vulnerabilities in popular apps. In the past month, researchers from the group have not only discovered significant [zero-day vulnerabilities](<https://threatpost.com/google-patches-zero-day-browser/160393/>) in Google\u2019s own [Chrome browser](<https://threatpost.com/chrome-holes-actively-targeted/160890/>), but also in [Apple\u2019s mobile devices](<https://threatpost.com/apple-patches-bugs-zero-days/161010/>) and [Microsoft Windows](<https://threatpost.com/unpatched-windows-zero-day-exploited-sandbox-escape/160828/>).\n", "published": "2020-11-20T15:11:25", "modified": "2020-11-20T15:11:25", "cvss": {"score": 0.0, "vector": "NONE"}, "href": "https://threatpost.com/facebook-messenger-bug-spying-android/161435/", "reporter": "Elizabeth Montalbano", "references": ["https://googleprojectzero.blogspot.com/", "https://bugs.chromium.org/p/project-zero/issues/detail?id=2098", "https://threatpost.com/newsletter-sign/", "https://threatpost.com/facebook-bug-bounty-program-pays-out-5-million-in-five-years/121278/", "https://about.fb.com/news/2020/11/bug-bounty-program-10th-anniversary/", "A%20loyalty%20program%20as%20part%20of%20its%20bug-bounty%20offering,%20which%20aims%20to%20further%20incentivize%20researchers%20to%20find%20vulnerabilities%20in%20its%20platform.", "https://twitter.com/GiveWell", "https://twitter.com/natashenka/status/1329508608866848768", "https://threatpost.com/google-patches-zero-day-browser/160393/", "https://threatpost.com/chrome-holes-actively-targeted/160890/", "https://threatpost.com/apple-patches-bugs-zero-days/161010/", "https://threatpost.com/unpatched-windows-zero-day-exploited-sandbox-escape/160828/"], "cvelist": [], "lastseen": "2020-11-21T03:25:38", "viewCount": 159, "enchantments": {"dependencies": {"references": [{"type": "threatpost", "idList": ["THREATPOST:2AAD8D184B893593E4E3B11FE31F97B3", "THREATPOST:00DDD71EAE1C5237DAD1BCE14B879E64", "THREATPOST:6F7E512F15913694CF17A906715FE678", "THREATPOST:CD0C6BFC2A71E723ABC80C9F2924375E", "THREATPOST:DF87733B74489628AB9F2C89704380A9"]}, {"type": "googleprojectzero", "idList": ["GOOGLEPROJECTZERO:EAAC3031EBBC66F647FEA9F377D8CF22", "GOOGLEPROJECTZERO:F656D6109FED3D96CCD38577127E157B", "GOOGLEPROJECTZERO:90F2510A2D950366E6936B04EE986011", "GOOGLEPROJECTZERO:91800FF4B3B97E581EBEE3342DED86A5", "GOOGLEPROJECTZERO:03CE47F515023A5D447180C81A407255", "GOOGLEPROJECTZERO:9BCAC922D09B74422F71F5D93C93D19F", "GOOGLEPROJECTZERO:D049B84A8AC5ACC7E568AB2B7590D442", "GOOGLEPROJECTZERO:3CA4D30640364D41657F0CD0BDC069DE", "GOOGLEPROJECTZERO:E5B56CF51E365B51225908A5849D48AE", "GOOGLEPROJECTZERO:1E487F1C3E74FC32D6792E4825A69950", "GOOGLEPROJECTZERO:CF565C17EBBFFB26E24003CCAA054CC8", "GOOGLEPROJECTZERO:B94FBA6FD9A9C74BA4735DB2D5EBCD24", "GOOGLEPROJECTZERO:FF233031C92DAC27736A5DB3D46462A7", "GOOGLEPROJECTZERO:484F15FB833183203B1090176F5B292A", "GOOGLEPROJECTZERO:8802D7592D5AF72E5E51A4203D76028E", "GOOGLEPROJECTZERO:E3251342C91C716535CE9288746A4E06", "GOOGLEPROJECTZERO:9B79D262B5DA61A7E11F5134B546BA63", "GOOGLEPROJECTZERO:62D7A4D701F6E44A09E86C9AF830CE9B", "GOOGLEPROJECTZERO:D620652B70C40C8A45BD6A140A36D3A4", "GOOGLEPROJECTZERO:82BC34EA810EB3C377CA67B9E6698CC2", "GOOGLEPROJECTZERO:850A7EFD371A2509AFC675C02D77A89F", "GOOGLEPROJECTZERO:B6FB33FF19AE0AD0E463FE10F35B3778", "GOOGLEPROJECTZERO:AD50FACECEA370938F859C3138760EDF", "GOOGLEPROJECTZERO:B1AD4DD6FFE23FF61AA713AC202CB72D", "GOOGLEPROJECTZERO:2A3982C3061E674A09A79EB4C98679BD", "GOOGLEPROJECTZERO:6D438BFA912DDE0EA057833C8B12B7AD", "GOOGLEPROJECTZERO:7C52C641EA96EDABBBE8B3706B234A41", "GOOGLEPROJECTZERO:6F26DF79851B5AF29F253B2DD0B4FE58", "GOOGLEPROJECTZERO:F1F68F19FE1BFF01DD05432577B72461", "GOOGLEPROJECTZERO:AF1909F7D7188ABF042A4867CE187093", "GOOGLEPROJECTZERO:536081283A099E8617728102C581F024", "GOOGLEPROJECTZERO:E8124F3738FE3CE710EF34255D4B4FE2", "GOOGLEPROJECTZERO:958B556E559A4838E2E1BC44429D49DE", "GOOGLEPROJECTZERO:61DD70E2338A41EDFC42D7D95205058E", "GOOGLEPROJECTZERO:4DD69C0705ED03DDD32F4248700CD8C8", "GOOGLEPROJECTZERO:6245967BAE0EB580BC9E0F179CD66C30", "GOOGLEPROJECTZERO:F06DB29D4493CE57606D1D984EFBC079", "GOOGLEPROJECTZERO:0A698E33ED549582D8438D75571953B7", "GOOGLEPROJECTZERO:05E1F1E4B41636CE2B66F2BE9E1B67AF", "GOOGLEPROJECTZERO:4005E94ECF3F5789538EB2C17ADC2322", "GOOGLEPROJECTZERO:9FBD79B28300CC6B04C3690CE569F732", "GOOGLEPROJECTZERO:623FB7D9EBC1FEE21FB3484D9D5BEADC", "GOOGLEPROJECTZERO:F0FEE791EB5D3C3ED5F6FC20211ABA56", "GOOGLEPROJECTZERO:1C5F1D2BF62BC1D5371F28AE543467BF", "GOOGLEPROJECTZERO:31E360A979121BF162476E686B207EC1", "GOOGLEPROJECTZERO:7F5C223E56D48D85E67FF00F003CB970", "GOOGLEPROJECTZERO:0FDFA80A2A1EAAF751E62C081C4A07AA", "GOOGLEPROJECTZERO:3CC5C12B80F69A02CA55F9CCF64DF766", "GOOGLEPROJECTZERO:7252C6A752FFE952836D88899C945E7F", "GOOGLEPROJECTZERO:3D9B0D356546CEBEC07761B692D2057E", "GOOGLEPROJECTZERO:FD71D92F3ADCD1101FFAB8CEDCD8D2A4", "GOOGLEPROJECTZERO:8D97E6A853D0492A3F60FD23D695FB73", "GOOGLEPROJECTZERO:3A6131056410B21024390BFD90B45CD0", "GOOGLEPROJECTZERO:A8D5AD326FD9A41EF62F54BC4815F30B", "GOOGLEPROJECTZERO:90A73563B873129DACF7BA58F21ACBAA", "GOOGLEPROJECTZERO:A46B3136EBE92DFE53548BB20EFF1ABC", "GOOGLEPROJECTZERO:EF7C0F9B29DCD0F6C0511D78BC69D685", "GOOGLEPROJECTZERO:7886E66D38D9D3C344A1FD2BED29A020", "GOOGLEPROJECTZERO:B7D83FD0998DB6A044E63C8C9134F8C9", "GOOGLEPROJECTZERO:7105AC02468FA173C8BDB7936612EE77", "GOOGLEPROJECTZERO:A2C7A3191EF8494C1B8F0E3A476F5861", "GOOGLEPROJECTZERO:A12C499D241526683BC561C6F0522478", "GOOGLEPROJECTZERO:0663BE23A0EE634845B60B64896B7C6D", "GOOGLEPROJECTZERO:246DBEFB9DAB01371CE765DD5B1F54C8", "GOOGLEPROJECTZERO:20699F3D05570E29FEFBCB7D0EDC874F", "GOOGLEPROJECTZERO:B8B508485423DAE9BE5BEB8DFC9990B5", "GOOGLEPROJECTZERO:061546838DE3681949667A4DCF74FFDD", "GOOGLEPROJECTZERO:F83774BA2CC96DAE6BEAEFFA66FD822B", "GOOGLEPROJECTZERO:5034F05BA655F6083F39B361A1695D4E", "GOOGLEPROJECTZERO:ADFF11EFB87724760A3377733EE703D5", "GOOGLEPROJECTZERO:C087817A3B48509879C675F427446D82", "GOOGLEPROJECTZERO:005839D6EC6203137D62222451603107", "GOOGLEPROJECTZERO:2BFC58171556F307387C05AEC05888E6", "GOOGLEPROJECTZERO:54DEC08A36CF8A81368D7CBA20C3E51B", "GOOGLEPROJECTZERO:37BA7BA880E3167EF2FF653967274013", "GOOGLEPROJECTZERO:1B216FF570A8FB11A882757DEFA8E44F", "GOOGLEPROJECTZERO:42FBA08807698DC5CD34486014AC8332", "GOOGLEPROJECTZERO:237B95A95C6C1C85D9BBC38C2CFB2FC9", "GOOGLEPROJECTZERO:C9801B81F13CE4E227384F4A94498650", "GOOGLEPROJECTZERO:1207813731774186F9A98E4FD3472E6D", "GOOGLEPROJECTZERO:C92742E03566423141C670F4E6043468", "GOOGLEPROJECTZERO:24FB3B3078A2348401DC4453941E47E4", "GOOGLEPROJECTZERO:7F2C6F52E479918F968F4D5FA0A62883", "GOOGLEPROJECTZERO:A0334D5B1BC8A894BC6B1343C5BCC682", "GOOGLEPROJECTZERO:0DCE4479BBCC241BDFF9FAEC61D4F9F1", "GOOGLEPROJECTZERO:39DAD6280242EEC473840947F2156BCA", "GOOGLEPROJECTZERO:7358F8E29DDCC866DD47FE83B640099C", "GOOGLEPROJECTZERO:58B8640C3716E8B2D608FF8EDD780806", "GOOGLEPROJECTZERO:8B409148764ECBF59C3901925E9E3BB8", "GOOGLEPROJECTZERO:B3C5E3BBB7D3D41B4F75E514AD909F5C", "GOOGLEPROJECTZERO:83BB5748075FA37B580BCAA9BC7BAE66", "GOOGLEPROJECTZERO:0519E4321416167A439C0603E926B98E", "GOOGLEPROJECTZERO:70D8A583272D5E38A214E4C564CC951F", "GOOGLEPROJECTZERO:75CD085B3442A85042680BBC1ABCA191", "GOOGLEPROJECTZERO:482174747A63E1F94C13FCE5E9F3FB55"]}], "modified": "2020-11-21T03:25:38", "rev": 2}, "score": {"value": 0.2, "vector": "NONE", "modified": "2020-11-21T03:25:38", "rev": 2}, "vulnersScore": 0.2}}