Descubren una vulnerabilidad en la comunicación entre extensiones de Firefox
Las extensiones son una de las características de Firefox. Mientras que otros navegadores imponen, por seguridad, demasiadas limitaciones a los desarrolladores en cuanto a qué partes del navegador pueden acceder, Mozilla da libre acceso a todo el sistema, permitiendo a los programadores crear extensiones que, en otros navegadores, serían impensables.
Muchos investigadores han analizado la repercusión de la política del «todo vale» en el navegador. Las extensiones pueden acceder libremente a todo el proceso del navegador, e incluso en ocasiones fuera de él, sin embargo, Mozilla ha hecho un buen trabajo en este aspecto ya que, salvo en casos aislados, el navegador y las extensiones son seguras. Sin embargo, ningún desarrollador ha dedicado tiempo suficiente a investigar el acceso y las interacciones entre extensiones, un nuevo vector de ataque que sí podría llegar a comprometer nuestra información.
Las extensiones en Firefox no están aisladas entre sí, por lo que se pueden comunicar entre ellas. Esto se debe a que las extensiones comparten entre sí los espacios de nombre de JavaScript, por lo que una extensión podría leer y escribir libremente las variables globales definidas por otras extensiones u otros usuarios, así como realizar llamadas o anular funciones globales y modificar las instancias de los objetos.
Resumiendo, esta falta de seguridad puede llegar a permitir el uso de funciones proporcionadas por una extensión desde otra totalmente diferente para realizar ataques informáticos.
El esquema de arriba muestra cómo una extensión hace uso de las funciones de otras dos para descargar y ejecutar código malicioso en un PC. Según Mozilla, este tipo de extensiones maliciosas son muy complicadas de detectar por lo que, aunque la mayoría de ellas tienen que pasar controles automáticos y humanos, lo más seguro es que, finalmente, alguna termina por ocultar tanto sus funciones que sea capaz de evadir dichos controles.
Según la compañía, 9 de las 10 extensiones más utilizadas en este navegador son vulnerables a este tipo de ataque, entre las que podemos destacar NoScript, Firebug, FlashGot y Web of Trust.
Cómo proteger Firefox de este fallo de seguridad en las extensiones
Como ya hemos explicado, para que un usuario no autorizado pueda aprovecharse de esta vulnerabilidad se necesitan, al menos, una extensión maliciosa y una extensión vulnerable que permita acceso a otra. Debido a que se han intensificado los controles sobre estas y se ha implementado una nueva herramienta de búsqueda de vulnerabilidades llamada CrossFire, es bastante difícil encontrar una extensión maliciosa en la tienda de extensiones de Firefox, aunque sí podría ser que esta se distribuyera por otros medios, por ejemplo, descarga manual u oculta en algunas aplicaciones supuestamente fiables.
Según las recientes declaraciones de los responsables de Firefox, cuando se termine de implementar el multi-proceso, también conocido como Electrolysis, todas las extensiones se van a ejecutar desde un sandbox, por lo que esta vulnerabilidad quedará solucionada definitivamente. Sin embargo, mientras esto ocurre, lo único que podemos hacer es asegurarnos de qué extensiones tenemos instaladas en el navegador y utilizar tan solo extensiones de confianza que, aunque sean vulnerables, no llevan a cabo acciones maliciosas.
¿Crees que Mozilla debería restringir el acceso de las extensiones a los recursos del navegador y del sistema como hace, por ejemplo, Google?
Quizá te interese:
- YouTube Unblocker, una amenaza oculta en una extensión para Firefox
- Firefox apenas brinda control sobre los complementos del sistema