Firefox bloquea JavaScript en línea y de evaluación en páginas internas para evitar ataques de inyección

ataques de inyección de javascript del navegador firefox

En un esfuerzo por mitigar una gran clase de posibles problemas de secuencias de comandos entre sitios en Firefox, Mozilla ha bloqueado la ejecución de todas las secuencias de comandos en línea y funciones similares a las de evaluación potencialmente peligrosas para «acerca de: páginas» integradas que son la puerta de entrada a preferencias confidenciales. configuración y estática del navegador.

El navegador Firefox tiene 45 de estas páginas internas alojadas localmente, algunas de las cuales se enumeran a continuación y es posible que las hayas notado o usado en algún momento:

  • about: config – panel para modificar las preferencias y configuraciones críticas de Firefox.
  • acerca de: descargas – tus descargas recientes realizadas dentro de Firefox.
  • about: memory – muestra el uso de memoria de Firefox.
  • about: newtab – la página predeterminada de nueva pestaña.
  • about: complementos: enumera todos sus complementos, así como otra información útil.
  • about: navegación privada – abre una nueva ventana privada.
  • about: networking: muestra información sobre redes.

Cabe señalar que estos cambios no afectan el funcionamiento de los sitios web de Internet en el navegador Firefox, pero en el futuro, Mozilla se compromete a «auditar y evaluar de cerca» los usos de funciones dañinas en extensiones de terceros y otros mecanismos integrados.

Firefox deshabilitó JavaScript en línea por seguridad

Dado que todas estas páginas están escritas en HTML/JavaScript y se muestran en el contexto de seguridad del propio navegador, también son propensas a ataques de inyección de código que, en caso de vulnerabilidad, podrían permitir que atacantes remotos inyecten y ejecuten código arbitrario en nombre de el usuario, es decir, ataques de secuencias de comandos entre sitios (XSS).

Para agregar una primera línea de defensa sólida contra los ataques de inyección de código, incluso cuando existe una vulnerabilidad, Mozilla ha bloqueado la ejecución de todos los scripts en línea, por lo tanto, también los scripts inyectados, mediante la implementación de Políticas de seguridad de contenido (CSP) estrictas para garantizar el JavaScript. el código solo se ejecuta cuando se carga desde un recurso empaquetado utilizando el protocolo interno.

Para lograr esto, Mozilla tuvo que reescribir todos los controladores de eventos en línea y mover todo el código JavaScript en línea fuera de línea en archivos empaquetados separados para las 45 páginas about:.

«No permitir ningún script en línea en ninguna de las páginas about: limita la superficie de ataque de la ejecución de código arbitrario y, por lo tanto, proporciona una sólida primera línea de defensa contra los ataques de inyección de código», dijo Mozilla en una publicación de blog publicada hoy.

¡SIN EVAL, NO HAY MAL!

Cuando los atacantes no pueden inyectar el script directamente, utilizan la función de JavaScript eval () y métodos similares para engañar a las aplicaciones de destino para que conviertan el texto en un JavaScript ejecutable para lograr la inyección de código.

Entonces, además de los scripts en línea, Mozilla también eliminó y bloqueó funciones similares a las de evaluación, que el fabricante del navegador cree que es otra «herramienta peligrosa», ya que analiza y ejecuta una cadena arbitraria en el mismo contexto de seguridad que él mismo.

«Si ejecuta eval () con una cadena que podría verse afectada por una parte maliciosa, puede terminar ejecutando un código malicioso en la máquina del usuario con los permisos de su página web/extensión», explica Mozilla en sus documentos web de MDN.

Google también comparte el mismo pensamiento, como dice el gigante tecnológico, «eval es peligroso dentro de una extensión porque el código que ejecuta tiene acceso a todo en el entorno de alto permiso de la extensión».

Para ello, Mozilla reescribió todo uso de funciones similares a las de evaluación de contextos privilegiados del sistema y el proceso principal en el código base de su navegador web Firefox.

Además de esto, la compañía también agregó afirmaciones de eval () que no permitirán el uso de la función eval () y sus parientes en contextos de secuencias de comandos con privilegios del sistema, e informarán al equipo de seguridad de Mozilla de instancias aún desconocidas de eval ().

Continua leyendo

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Newsletter Signup

Suscríbete a nuestra lista si te interesa recibir turcos exclusivos sobre hacking y seguridad informática