Home Cyber Security News Code Execution Vulnerability Found In Facebook for Android

Code Execution Vulnerability Found In Facebook for Android

by Abeerah Hashim
Facebook for Android vulnerability

Facebook for Android app had a serious vulnerability that could allow arbitrary code execution. Exploiting the bug could lead to app crash, and potentially device takeovers.

Facebook for Android Vulnerability

Security researcher Sayed Abdelhafiz discovered a vulnerability in the Facebook for Android app that could lead to code execution.

As described in his blog post, the bug basically affected the file download feature – that too – rather specifically.

As he explained, Facebook allows file download on its Android app in two ways. The first is via direct download from a post using the built-in DownloadManager. Whereas, the second one is by using the Files Tab which first fetches the file to the DownloadManager and then saves it to the Download director.

The second feature is where the bug existed. Abdelhafiz could successfully create a malicious file for download which then allowed executing arbitrary codes on the target device.

Regarding the payload, he explained,

I can upload files via Facebook mobile application. set-up burp suite proxy on my phone, enable white-hat settings on the application to bypass SSL pinning, intercepted upload file request, modify the filename to ../../../sdcard/PoC, file uploaded successfully and my payload is in the filename now!

While the file didn’t work via the first method, downloading it via the second method did work.

I was able to perform path traversal, I can now overwrite the native libraries and perform ACE attack.

In response to his tweet, the researcher stated the exploiting the bug might even allow device takeover. Though, this wasn’t established.

The researcher has shared the following video as PoC.

Facebook Awarded $10K Bounty

The researcher discovered the bug in Facebook’s Android app in April 2020. He then reached out to Facebook who acknowledged his findings.

The tech giant eventually fixed the bug in June 2020. For this report, the researcher won $10,000 as a bug bounty.

You may also like

Latest Hacking News

Privacy Preference Center


The __cfduid cookie is used to identify individual clients behind a shared IP address and apply security settings on a per-client basis.

cookie_notice_accepted and gdpr[allowed_cookies] are used to identify the choices made from the user regarding cookie consent.

For example, if a visitor is in a coffee shop where there may be several infected machines, but the specific visitor's machine is trusted (for example, because they completed a challenge within your Challenge Passage period), the cookie allows Cloudflare to identify that client and not challenge them again. It does not correspond to any user ID in your web application, and does not store any personally identifiable information.

__cfduid, cookie_notice_accepted, gdpr[allowed_cookies]


DoubleClick by Google refers to the DoubleClick Digital Marketing platform which is a separate division within Google. This is Google’s most advanced advertising tools set, which includes five interconnected platform components.

DoubleClick Campaign Manager: the ad-serving platform, called an Ad Server, that delivers ads to your customers and measures all online advertising, even across screens and channels.

DoubleClick Bid Manager – the programmatic bidding platform for bidding on high-quality ad inventory from more than 47 ad marketplaces including Google Display Network.

DoubleClick Ad Exchange: the world’s largest ad marketplace for purchasing display, video, mobile, Search and even Facebook inventory.

DoubleClick Search: is more powerful than AdWords and used for purchasing search ads across Google, Yahoo, and Bing.

DoubleClick Creative Solutions: for designing, delivering and measuring rich media (video) ads, interactive and expandable ads.



The _ga is asssociated with Google Universal Analytics - which is a significant update to Google's more commonly used analytics service. This cookie is used to distinguish unique users by assigning a randomly generated number as a client identifier. It is included in each page request in a site and used to calculate visitor, session and campaign data for the sites analytics reports. By default it is set to expire after 2 years, although this is customisable by website owners.

The _gat global object is used to create and retrieve tracker objects, from which all other methods are invoked. Therefore the methods in this list should be run only off a tracker object created using the _gat global variable. All other methods should be called using the _gaq global object for asynchronous tracking.

_gid works as a user navigates between web pages, they can use the gtag.js tagging library to record information about the page the user has seen (for example, the page's URL) in Google Analytics. The gtag.js tagging library uses HTTP Cookies to "remember" the user's previous interactions with the web pages.

_ga, _gat, _gid