Site icon Sophos News

Firefox parchea una vulnerabilidad día cero que estaba siendo activamente explotada

Mozilla acaba de publicar una actualización para su navegador Firefox que parchea un agujero de seguridad que ya estaba siendo explotado activamente por ciberdelincuentes.

Si utilizas la versión normal de Firefox, deberías actualizar de la 74.0 a la 74.0.1 y si estás usando la versión de soporte extendido (ESR), deberías actualizar de la ESR 68.6.0 a la ESR 68.6.1.

Dado que la vulnerabilidad necesita parches tanto en la última versión como en la ESR, podemos asumir que la vulnerabilidad ha estado en el código base de Firefox al menos desde que apareció la versión 68, que fue en julio de 2019, o que se introdujo como un efecto secundario de una corrección de seguridad que se publicara después de que apareciera la versión 68.0.

(Si tienes la versión ESR X.Y.0, esencialmente sigues en el conjunto de características de Firefox X.0, pero con todas las correcciones de seguridad que han salido hasta e incluyendo Firefox (X+Y).0, por lo que la ESR es popular entre los departamentos de TI que quieren evitar las frecuentes actualizaciones de características que podrían requerir cambios en el flujo de trabajo de la empresa, pero no quieren quedarse atrás en los parches de seguridad).

Lo que todavía no podemos dar son detalles sobre exactamente cuánto tiempo hace que los atacantes encontraron el error, cómo lo están explotando, qué están haciendo con él o quién ha sido atacado hasta ahora.

En este momento, Mozilla no dice más que esto:

CVE-2020-6819: Use-after-free mientras se ejecuta el destructor nsDocShell

Bajo ciertas condiciones, cuando se ejecuta el destructor nsDocShell, una condición de secuencia  puede causar un use-after-free. Somos conscientes de la existencia ataques selectivos abusando de este defecto.

CVE-2020-6820: Use-after-free cuando se maneja un ReadableStream

Bajo ciertas condiciones, cuando se maneja un ReadableStream, una condición de secuencia  puede causar un use-after-free. Somos conscientes de la existencia ataques selectivos abusando de este defecto.

Los detalles del fallo en la base de datos de fallos de Mozilla todavía no están abiertos al público, presumiblemente porque los codificadores de Mozilla que lo solucionaron lo han descrito y discutido, por necesidad, con suficiente detalle para hacer que los exploits adicionales sean mucho más fáciles de crear.

¿Qué significa use-after-free?

Un use-after-free es una clase de error causado por el uso incauto de bloques de memoria por parte de un programa.

Normalmente, un programa devuelve bloques de memoria al sistema operativo después de haber terminado con ellos, permitiendo que la memoria los utilice de nuevo para otra cosa.

Devolver la memoria cuando se ha terminado con ella impide que el programa acapare más y más RAM mientras se ejecuta hasta que todo el sistema se atasque.

La llamada a la función por la que se devuelve la memoria para ser usada de nuevo se llama free(), y una vez que has liberado la memoria, es obvio que no deberías acceder a ella de nuevo.

Lo más importante, si lees y confías en datos que ahora pertenecen a otra parte del programa – por ejemplo, la memoria que acaba de ser reasignada como un lugar para almacenar contenido no confiable que fue descargado de una página web o generado por JavaScript obtenido desde el exterior – entonces puedse inadvertidamente poner tu código a merced de datos que fueron cuidadosamente elaborados por un ciberdelincuente y servidos para engañarte a propósito.

No todos los bugs use-after-free son explotables, y no todos los exploits son iguales. Por ejemplo, un atacante sólo podría ser capaz de cambiar el contenido de un icono o un mensaje que estás a punto de mostrar, que podría ser utilizado para engañar a los usuarios (por ejemplo, dando una respuesta positiva cuando algo realmente falló), pero no para implantar malware directamente.

Pero en algunos casos, los bugs use-after-free pueden permitir que un atacante cambie el flujo de control dentro del programa, incluyendo el desvío de la CPU para ejecutar código no fiable que el atacante acaba de introducir en la memoria desde el exterior, eludiendo así cualquiera de los controles de seguridad habituales del navegador o de los diálogos de “¿está seguro?

Este es el tipo más grave de exploit, conocido en la jerga como RCE, abreviatura de ejecución remota de código, que significa justo lo que dice: que un ladrón puede ejecutar código en su ordenador de forma remota, sin previo aviso, incluso si está al otro lado del mundo.

Asumimos, ya que estos errores están clasificados como críticos, que involucran un RCE.

¿Qué hacer?

Lo que un equipo de ciberdelincuentes ya ha encontrado, otros podrían encontrarlo a su vez, especialmente ahora que tienen al menos una vaga idea de dónde empezar a buscar.

Así que, como siempre ¡parchea rápido, parchea a menudo!

La mayoría de los usuarios de Firefox deberían obtener la actualización automáticamente, pero también podrías comprobar que está ahí, porque el acto de comprobar por sí mismo desencadenará una actualización si no la tienes todavía.

Haz clic en el icono de tres barras (menú de hamburguesas) en la parte superior derecha, y luego elige Ayuda > Acerca de Firefox.

Comprueba que estás utilizando la versión 74.0.1 y si estás usando la versión de soporte extendido (ESR) la 68.6.1.

Exit mobile version