Chrome parchea 24 agujeros de seguridad, habilita el sistema de seguridad "Sanitizer" PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Chrome parchea 24 agujeros de seguridad, habilita el sistema de seguridad "Sanitizer"

El último navegador Chrome de Google, Versión 105, está disponible, aunque el número de versión completo es molestamente diferente dependiendo de si está en Windows, Mac o Linux.

En sistemas tipo Unix (Mac y Linux), desea 105.0.5195.52, pero en Windows, estás buscando 105.0.5195.54.

Según Google, esta nueva versión incluye 24 correcciones de seguridad, aunque ninguna de ellas se informa como "in-the-wild", lo que significa que esta vez no hubo parches de día cero.

Sin embargo, hay una vulnerabilidad denominada Critical, y otros ocho calificados Alta.

De las fallas que se corrigieron, poco más de la mitad de ellas se deben a una mala gestión de la memoria, con nueve enumeradas como utilizar después de liberación bichos, y cuatro como desbordamientos de búfer de pila.

Tipos de errores de memoria explicados

A utilizar después de liberación es exactamente lo que dice: devuelves memoria para liberarla para otra parte del programa, pero continúas usándola de todos modos, lo que podría interferir con el correcto funcionamiento de tu aplicación.

Imagine, por ejemplo, que la parte del programa que cree que ahora tiene acceso exclusivo al bloque de memoria ofensivo recibe una entrada que no es de confianza y verifica cuidadosamente que los nuevos datos sean seguros para usar...

… pero luego, en el instante antes de que comience a usar esa entrada validada, su código defectuoso “usar después de liberar” interfiere e inyecta datos obsoletos e inseguros en la misma parte de la memoria.

De repente, el código libre de errores en otras partes del programa se comporta como si tuviera errores, gracias a la falla en su código que simplemente invalidó lo que estaba en la memoria.

Los atacantes que pueden descubrir una manera de manipular el momento de la intervención inesperada de su código pueden no solo bloquear el programa a voluntad, sino también arrebatarle el control, causando lo que se conoce como ejecución remota de código.

Y un desbordamiento de búfer de pila se refiere a un error en el que escribe más datos en la memoria de los que caben en el espacio que se le asignó originalmente. (Montón es el término de la jerga para la colección de bloques de memoria que actualmente administra el sistema).

Si alguna otra parte del programa tiene un bloque de memoria que está cerca o al lado del tuyo en el montón, entonces los datos superfluos que acabas de escribir no se desbordarán inofensivamente en el espacio no utilizado.

En su lugar, corromperá los datos que están en uso activo en otro lugar, con consecuencias similares a las que acabamos de describir para un error de uso después de la liberación.

El sistema “Sanitizer”

Felizmente, además de corregir las fallas que se suponía que no debían existir, Google ha anunciado la llegada de una nueva función que agrega protección contra una clase de fallas del navegador conocidas como secuencias de comandos entre sitios (XSS).

Los errores de XSS son causados ​​por el navegador que inserta datos que no son de confianza, por ejemplo, desde un formulario web enviado por un usuario remoto, directamente en la página web actual, sin verificar (y eliminar) primero el contenido de riesgo.

Imagine, por ejemplo, que tiene una página web que ofrece mostrarme cómo se ve una cadena de texto de mi elección en su nueva fuente original.

Si escribo el texto de muestra Cwm fjord bank glyphs vext quiz (una combinación artificial pero vagamente significativa de inglés y galés que contiene las 26 letras del alfabeto en solo 26 letras, en caso de que se lo pregunte), entonces es seguro que coloque ese texto exacto en la página web que cree.

En JavaScript, por ejemplo, podría reescribir el cuerpo de la página web de esta manera, insertando el texto que proporcioné sin ninguna modificación:

documento.cuerpo.innerHTML = " Cwm fjord bank glyphs vext quiz"

Pero si hago trampa y te pido que "muestres" la cadena de texto Cwm fjord<script>alert(42)</script> en cambio, entonces sería imprudente de tu parte hacer esto...

documento.cuerpo.innerHTML = " fiordo de cwm alert(42) "

…porque me estaría permitiendo inyectar código JavaScript no confiable de my eligiendo directamente en su proveedor página web, donde mi código podría leer sus cookies y acceder a datos que de otro modo estarían fuera de los límites.

Entonces, para hacer lo que se conoce como higienizando tus insumos más fácil, Chrome ahora ha habilitado oficialmente el soporte para una nueva función del navegador llamada setHTML().

Esto se puede usar para enviar nuevo contenido HTML a través de una característica llamada Sanitizer primero, de modo que si usa este código en su lugar...

documento.cuerpo.setHTML(" fiordo de cwm alert(42) ")

…entonces Chrome escaneará primero la nueva cadena HTML propuesta en busca de problemas de seguridad y eliminará automáticamente cualquier texto que pueda representar un riesgo.

Puede ver esto en acción a través de la Herramientas de desarrollo ejecutando lo anterior setHTML() código en el Consola y luego recuperar el HTML real que se inyectó en el document.body variable, como hicimos aquí:

Observe cómo la etiqueta de secuencia de comandos resaltada se ha "desinfectado" del HTML que finalmente se insertó en la página.

A pesar de que ponemos explícitamente un <script> etiqueta en la entrada que le pasamos al setHTML() función, el código de la secuencia de comandos se eliminó automáticamente de la salida que se creó.

Si realmente necesita agregar texto potencialmente peligroso en un elemento HTML, puede agregar un segundo argumento al setHTML() función que especifica varios tipos de contenido de riesgo para bloquear o permitir.

De forma predeterminada, si se omite este segundo argumento como se indicó anteriormente, el Sanitizer funciona en su nivel de seguridad máximo y elimina automáticamente todo el contenido peligroso del que tiene conocimiento.

¿Qué hacer?

  • Si eres usuario de Chrome. Comprueba que estás actualizado haciendo clic en Tres puntos > Ayuda > Acerca de Google Chrome, o navegando a la URL especial chrome://settings/help.
  • Si eres programador web. Aprende sobre lo nuevo Sanitizer y setHTML() funcionalidad leyendo consejos de google y del MDN Web Docs.

Por cierto, si estás en Firefox, Sanitizer está disponible, pero aún no está activado de forma predeterminada. Puede activarlo para obtener más información al respecto yendo a about:config y alternando el dom.security.sanitizer.enabled opción de true.


Sello de tiempo:

Mas de Seguridad desnuda