Technical details about a high-vulnerability in Facebook's Instagram app for Android and iOS show how a malicious user could exploit it to take full control of the victim's account.
For this technique to work, the malicious user will need to send a specially crafted image to the target via a shared messaging platform or via email.
The issue was how to analyze images from Instagram, as long as the application has access to it to display it as an option in a post. Then the vulnerability would start by allowing dangerous actions.
Technically, vulnerability is a buffer overflow (CVE-2020-1895) that happens when Instagram tries to upload a bigger image believing it is smaller.
Facebook fixed the problem in the spring, after the Check Point company disclosed and issued safety tips to tackle.
In a detailed technical report today, Check Point's Gal Elbaz highlights how custom third-party code implementation on Instagram could lead to serious, remote risks implementationof code.
The weak point, in this case, was a fixed hardcoded value added by Instagram developers when integrating Mozjpeg, an open source JPEG encoder that Mozilla configured with libjpeg-turbo for better JPEG compression.
Check Point started checking Mozjpeg for possible defects that could be exploited in a meaningful way. The purpose was to find out if Instagram could be influenced by the library.
They found that the function that handles image sizes when parsing JPEGs had one error which caused distribution problems μνήμηduring the decompression process.
This could be used to damage memory, which can have dangerous consequences. At best, this type of error could throw Instagram, but if exploitable, it can lead to critical risks.
According to Check Point, Instagram has extensive permissions on the device, which include access to contacts, storage, device location, camera and microphone.
So in addition to checking the Instagram of the owner of a device, a hacker could use the device as tool espionage without suspicion.