Vulnerabilidad de ejecución de código en la aplicación Instagram

El equipo de Check Point ha descubierto una vulnerabilidad crítica que se puede utilizar para realizar ejecución remota de código en el teléfono de una víctima. Un atacante simplemente envía una imagen a la víctima por correo electrónico, WhatsApp u otras plataformas de intercambio de medios. Cuando la víctima abre la aplicación de Instagram, se produce la explotación.

Los investigadores de Check Point descubrieron el fallo tras realizar pruebas de fuzzing sobre librerías de código abierto no declaradas utilizadas por la aplicación. En la imagen a continuación, se puede ver que cuando carga una imagen usando Instagram, se cargan tres objetos compartidos: libfb_mozjpeg.so, libjpegutils_moz.so y libcj_moz.so.

Objetos compartidos de Mozjpeg

El sufijo «moz» es la abreviatura de «mozjpeg», que es la abreviatura de Mozilla JPEG Encoder Project. El proyecto “Mozjpeg” es un proyecto de Mozilla lanzado en el 2014, en el que se anunció un codificador JPEG construido sobre libjpeg-turbo, para proporcionar una mejor compresión de imágenes web, a expensas del rendimiento. El proyecto de código abierto es específicamente para imágenes en la web.

La función vulnerable detectada por Check Point es read_jpg_copy_loop que permite un desbordamiento de memoria durante el proceso de descompresión.

Se le ha asignado el identificador CVE-2020-1895 a la vulnerabilidad que ya ha sido corregida por Facebook en la versión 128.0.0.26.128 de la aplicación, tanto para equipos Android como iOS.

Más información:

  • https://www.facebook.com/security/advisories/cve-2020-1895
  • https://research.checkpoint.com/2020/instagram_rce-code-execution-vulnerability-in-instagram-app-for-android-and-ios/
  • https://unaaldia.hispasec.com/2020/09/ejecucion-remota-de-codigo-en-instagram.html
  • https://www.incibe-cert.es/alerta-temprana/vulnerabilidades/cve-2020-1895