La empresa Google ha publicado el lanzamiento del navegador web Chrome 135. También está disponible la versión estable del proyecto de código abierto Chromium, que sirve como base para Chrome. El navegador Chrome se diferencia de Chromium en el uso de los logotipos de Google, en la presencia de un sistema de envío de notificaciones en caso de accidentes, módulos para la reproducción de contenido de video protegido contra copia (DRM), un sistema de instalación automática de actualizaciones, una activación constante de la aislamiento Sandbox, el suministro de claves a la API de Google y la transmisión de parámetros RLZ durante la búsqueda. Para aquellos que necesitan más tiempo para actualizar, se mantiene por separado la rama Extended Stable, que cuenta con 8 semanas de soporte. El siguiente lanzamiento de Chrome 136 está programado para el 29 de abril.
Cambios principales en Chrome 135:
- Se ha añadido protección contra la identificación encubierta de usuarios mediante la caché HSTS (HTTP Strict Transport Security). HSTS permite a los sitios redirigir a los usuarios de HTTP a HTTPS al ingresar. Durante el funcionamiento, el nombre del host establecido a través de HSTS se guarda en la caché interna, lo que permite utilizar la presencia o ausencia del host en la caché para almacenar un solo bit de información.
Para el almacenamiento oculto de un identificador de usuario de 32 bits, se puede utilizar una matriz de 32 imágenes suministradas desde diferentes hosts a través de HTTP (http://bit0.example.com/image.jpg, http://bit1.example.com/image.jpg, etc.). La identificación del identificador se realiza comprobando desde qué hosts se cargaron las imágenes a través de HTTPS y desde cuáles a través de HTTP (si las imágenes se entregaron previamente a través de HTTP y se redirigieron a HTTPS mediante HSTS, entonces en solicitudes posteriores se cargarán directamente a través de HTTPS, omitiendo el acceso a HTTP). La protección se ha limitado a permitir la actualización de HSTS solo para recursos de nivel superior y bloquear la actualización de HSTS en solicitudes de subrecursos.
- Se ha añadido la ejecución local de un modelo de aprendizaje automático para mejorar la detección de la presencia de formularios de entrada de contraseña en las páginas y el cambio automático de contraseñas. Si se considera que una contraseña ha sido comprometida, al intentar iniciar sesión con esa contraseña en un sitio, Chrome mostrará una advertencia sugiriendo cambiar la contraseña. Si se acepta, el navegador generará una contraseña segura y cambiará la contraseña en el sitio, guardando la nueva contraseña en el gestor de contraseñas; la IA llenará y enviará automáticamente los formularios web necesarios en el sitio correspondiente y actualizará la contraseña guardada.
- En el modo de protección mejorada del navegador (Navegación segura > Protección mejorada) se ha añadido la capacidad de utilizar un gran modelo de lenguaje para identificar páginas fraudulentas por su contenido. El modelo de IA se ejecuta del lado del cliente, pero en caso de detectar contenido sospechoso, se realiza una verificación adicional en como en entornos de nube públicos o privados. Google. Si la verificación adicional se confirma, se muestra una advertencia al usuario. La verificación actualmente se realiza solo para páginas que utilizan la API Keyboard Lock.
- Para los usuarios que han vinculado Chrome a su cuenta de Google, ahora existe la posibilidad de guardar las extensiones instaladas en su cuenta de Google para su uso automático posterior en todas las computadoras que utilice el usuario.
- Los usuarios que se han conectado recientemente a su cuenta de Google o utilizan Chrome Sync tienen sus configuraciones sincronizadas, accesos directos a sitios y temas almacenados por separado de las configuraciones locales. Así, después de desactivar Chrome Sync en el dispositivo, se mantendrán las configuraciones originales, y al conectarse a Google no se cargarán las configuraciones locales.
- En la versión para Android se ha descontinuado el soporte para el administrador de contraseñas integrado, que ha sido reemplazado por el unificado Google Password Manager, disponible a través de Google Play. Los usuarios pueden guardar el contenido del antiguo administrador de contraseñas en formato CSV para transferirlo a otros administradores de contraseñas.
- En el modo incógnito se ha implementado un bloqueo de cookies de terceros que no se puede desactivar desde el navegador, emitidas al acceder a sitios diferentes de dominio la página actual (este tipo de cookies se utilizan para rastrear el movimiento del usuario entre sitios en el código de redes publicitarias, widgets de redes sociales y sistemas de análisis web). La posibilidad de gestionar el bloqueo de cookies de terceros desde el lado de los sitios permanece sin cambios, pero en el navegador la configuración BlockThirdPartyCookies en modo incógnito ahora no puede establecerse en false.
- Se han añadido pseudo-elementos en CSS «::column», «::scroll-button», «::scroll-marker» y «::scroll-marker-group», que permiten implementar el desplazamiento en forma de carrusel.
- Se han implementado los atributos HTML «command» y «commandfor», que se pueden usar en botones en lugar de los atributos «popovertargetaction» y «popovertarget» para la configuración declarativa de la interacción con el menú que se activa al hacer clic en el botón. Al utilizar los nuevos atributos, toda la lógica de interacción con el menú es gestionada por el navegador, sin necesidad de conectar controladores personalizados en JavaScript. Por ejemplo, para crear un menú desplegable, es suficiente con indicar: <button commandfor="»my-menu»" command="»show-popover»">Abrir menú</button> <div popover id="»my-menu»"> … </div>
- Se ha añadido en CSS la función shape(), que permite crear formas utilizando las propiedades CSS clip-path y offset-path. La función shape() soporta comandos para la formación de figuras equivalentes a la función path(), pero permite usar la sintaxis estándar de CSS para ello.
- En la API Web Speech, que ofrece funciones para la síntesis y reconocimiento de voz, se ha añadido soporte para la interfaz MediaStreamTrack para procesar el audio proveniente de diversas fuentes, incluidos los archivos de audio externos. Anteriormente, la API Web Speech solo podía procesar el sonido que llegaba a través del micrófono predeterminado.
- En JavaScript se ha añadido soporte para arreglos tipados Float16Array, diseñados para almacenar valores del tipo Float16.
- Se ha añadido la API Observable para manejar flujos de eventos de manera asíncrona. La API permite suscribirse a un objeto para recibir eventos a medida que llegan y describe de manera declarativa el flujo de transformaciones que se aplicarán a los eventos entrantes.
- Se ha eliminado el método navigator.xr.supportsSession, que previamente había sido declarado obsoleto. En su lugar, se debe utilizar el método navigator.xr.isSessionSupported, que se especifica en la especificación WebXR.
- Se han eliminado las configuraciones InsecurePrivateNetworkRequestsAllowedForUrls e InsecurePrivateNetworkRequestsAllowed, que se utilizaban para habilitar el mecanismo PNA 1.0 (Private Network Access), que limita la carga de recursos desde un sitio públicamente accesible que hace referencia a hosts en la red interna (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8, etc.). Esta actividad es utilizada por atacantes para llevar a cabo ataques CSRF en enrutadores, puntos de acceso, impresoras, interfaces web corporativas y otros dispositivos y servicios que aceptan solicitudes solo desde la red local.
Debido a la incompatibilidad con algunos dispositivos, PNA 1.0 solo podía habilitarse de manera opcional. En reemplazo de PNA 1.0, se ha desarrollado la especificación PNA 2.0 cuya implementación no requiere cambios del lado de los dispositivos y solo necesita modificaciones del lado de los sitios que requieren acceso a recursos intranet. PNA 1.0 y PNA 2.0 no son compatibles entre sí, por lo que antes de implementar PNA 2.0, Google tiene la intención de eliminar primero el soporte para PNA 1.0.
- Se ha eliminado la opción de restaurar el soporte para la interfaz de programación de aplicaciones obsoleta MutationEvent y los eventos relacionados que se procesaban de manera sincrónica, como DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMNodeInsertedIntoDocument y DOMCharacterDataModified. Esta interfaz se utilizaba para rastrear cambios en el árbol DOM, pero afectaba negativamente el rendimiento de las páginas y dificultaba la implementación de nuevas funciones. Esta API fue desactivada por defecto el verano pasado, pero en Chrome se mantenía la opción MutationEventsEnabled para restaurar el soporte. Se recomienda utilizar la API Mutation Observer como alternativa.
- Las herramientas para desarrolladores web han ampliado las capacidades de las herramientas para análisis de rendimiento.
Además de las novedades y correcciones de errores, se han solucionado 14 vulnerabilidades en esta nueva versión. Muchas de las vulnerabilidades fueron detectadas mediante pruebas automatizadas con las herramientas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer y AFL. No se han encontrado problemas críticos que permitan eludir todos los niveles de protección del navegador y ejecutar código en el sistema fuera del entorno sandbox. En el marco del programa de recompensas por descubrir vulnerabilidades de esta versión, Google ha otorgado 8 premios por un total de 17,000 dólares, incluyendo un premio de 10,000 dólares y dos premios de 2,000, 1,000 y 500 dólares.
Fuente: opennet.ru
