La empresa Google ha publicado la versión del navegador web Chrome 118. Al mismo tiempo, está disponible una versión estable del proyecto de código abierto Chromium, que es la base de 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 fallos, módulos para la reproducción de contenido de video protegido contra copias (DRM), un sistema de actualizaciones automáticas, la inclusión constante de aislamiento Sandbox, la entrega de claves para Google API y la transmisión de parámetros RLZ durante las búsquedas. Para aquellos que necesitan más tiempo para actualizar, se mantiene una rama Extended Stable, que está acompañada de 8 semanas. La próxima versión de Chrome 119 está prevista para el 31 de octubre.
Principales cambios en Chrome 118:
- Se ha comenzado la preparación para la eliminación del soporte de cookies de terceros en Chrome, que se establecen al acceder a sitios que son diferentes del dominio de la página actual. Estas cookies se utilizan para rastrear los movimientos del usuario entre sitios en el código de redes publicitarias, widgets de redes sociales y sistemas de web analítica. Los cambios se están impulsando en el marco de la iniciativa Privacy Sandbox, con el objetivo de lograr un compromiso entre la necesidad de los usuarios de mantener la privacidad y el deseo de redes publicitarias y sitios de rastrear las preferencias de los visitantes.
En Chrome 118, las herramientas para desarrolladores web presentan una advertencia al enviar cookies que caerán bajo futuras restricciones. También se ha añadido una opción de línea de comandos «—test-third-party-cookie-phaseout» y la configuración «chrome://flags/#test-third-party-cookie-phaseout» para habilitar forzosamente el bloqueo con el fin de realizar pruebas. El bloqueo real de las cookies de terceros comenzará en el primer trimestre de 2024 y, durante el período de prueba hasta el tercer trimestre, solo afectará al 1% de los usuarios de Chrome. Después del tercer trimestre de 2024, el alcance del bloqueo se ampliará al 100%.
En lugar de cookies de rastreo, se propone utilizar las siguientes API:
- FedCM (Gestión de Credenciales Federadas), que permite crear servicios de identificación combinados que garantizan la privacidad y funcionan sin cookies de terceros.
- Private State Tokens, que permite identificar a diferentes usuarios sin el uso de identificadores entre sitios y transferir información de autenticación del usuario entre diferentes contextos.
- Topics (crítica), que permite definir categorías de intereses del usuario, que se pueden utilizar para destacar grupos de usuarios con intereses similares sin identificar a usuarios individuales mediante cookies de rastreo. Los intereses se calculan en función de la actividad del usuario en el navegador y se almacenan en el dispositivo del usuario. A través de la API Topics, la red publicitaria puede obtener información general sobre intereses individuales sin tener información sobre la actividad específica del usuario.
- Audiencia Protegida, solución para el retargeting y la evaluación de la audiencia propia (trabajo con los usuarios que han visitado previamente el sitio).
- Informe de Atribución, permite evaluar características de eficacia publicitaria, como clics y conversiones (compra en el sitio después de hacer clic).
- API de Acceso a Almacenamiento, puede usarse para solicitar al usuario permiso para acceder al almacenamiento de Cookies, si por defecto las Cookies de terceros están bloqueadas.
- Para todos los usuarios, está habilitado el soporte del mecanismo ECH (Encrypted Client Hello), que continúa el desarrollo de ESNI (Encrypted Server Name Indication) y se utiliza para cifrar la información sobre los parámetros de las sesiones TLS, como el nombre de dominio solicitado. La principal diferencia entre ECH y ESNI es que en ECH, en lugar de cifrar a nivel de campos individuales, se cifra todo el mensaje TLS ClientHello, lo que permite bloquear filtraciones a través de campos que no cubre ESNI, como el campo PSK (Pre-Shared Key). Para gestionar la activación de ECH, se prevé la configuración "chrome://flags#encrypted-client-hello".
- Al habilitar la protección avanzada del navegador (Safe Browsing > Enhanced protection), se implementa la posibilidad de desactivar de forma remota las extensiones maliciosas instaladas fuera del catálogo oficial de extensiones. La decisión de eliminación se toma en los servidores de Google, basada en una revisión manual o después de la activación de un sistema automático de detección de malware.
- Al habilitar la protección estándar del navegador (Safe Browsing > Standard protection), se realiza una verificación de seguridad en tiempo real de las URL abiertas, llevada a cabo en función de la transmisión a servidores Google de hashes parciales de las URLs que el usuario está abriendo. Para evitar la coincidencia IP el usuario y el hash, los datos se transmiten a través de un proxy intermediario. Anteriormente, la verificación se realizaba mediante la carga en el sistema del usuario de una copia local de la lista de URL inseguras. El nuevo esquema permite bloquear de manera más eficiente las URL maliciosas.
- Se ha mejorado el diseño de las páginas que se muestran al intentar abrir un sitio web considerado inseguro en la verificación a través del mecanismo Safe Browsing.

- En la telemetría enviada a los servidores de Google al habilitar la protección avanzada del navegador (Safe Browsing > Enhanced protection), ahora se tiene en cuenta el acceso de las extensiones a la API chrome.tabs. Los datos se recopilan para identificar actividades maliciosas y violaciones de las normas en las extensiones.
- Al habilitar la protección avanzada del navegador (Safe Browsing > Enhanced protection), se ha asegurado el soporte para un escaneo profundo de archivos ZIP y RAR cifrados del lado de Google (se solicita al usuario la contraseña de descompresión, tras lo cual el contenido se envía para su verificación a los servidores de Google).
- Se ha añadido un nuevo texto en el configurador y en la guía de privacidad que explica la esencia de los niveles de protección Safe Browsing y se han agregado enlaces a artículos relevantes con información adicional. Se han simplificado las descripciones de la protección estándar, la desactivación de la protección y las advertencias sobre la compromisión de contraseñas.

- Se ha añadido información sobre la disponibilidad de descuentos en la sección Quests (seguimiento de precios en tiendas en línea) en la página de la nueva pestaña. El indicador de descuentos también puede aparecer en la barra de direcciones al abrir páginas con productos de tiendas en línea que son monitoreadas por el servicio de Google.
- De acuerdo con la especificación RFC-6265bis, se ha implementado el bloqueo de todas las cookies que contienen caracteres de control y que se establecieron a través de JavaScript. Anteriormente, las cookies con un carácter nulo, un retorno de carro y un salto de línea se truncaban en el carácter problemático en lugar de ser bloqueadas, lo que en algunas situaciones podía ser utilizado para acciones maliciosas. Para desactivar este nuevo comportamiento, se puede usar la opción "—disable-features=BlockTruncatedCookies".
- Se ha permitido el acceso a la API WebUSB en los Service Workers registrados.
- Se ha eliminado la necesidad de que el usuario active previamente la capacidad de mostrar diálogos para solicitar y confirmar pagos.
- Se ha interrumpido la decodificación de la representación de los caracteres ASCII como códigos «%xx». Por ejemplo, anteriormente «http://example.com/» se decodificaba a «http://example.com/A» antes de guardarse en url.href, y ahora se mantendrá como «http://example.com/».
- Se ha añadido la posibilidad de colocar texto verticalmente en los elementos de formularios web select, meter, progress, button, textarea e input. La posición del texto en los formularios se establece mediante la propiedad CSS writing-mode, que para la visualización vertical puede tomar valores vertical-rl o vertical-lr.
- En la propiedad CSS "appearance" se ha dejado de soportar palabras clave no estándar: inner-spin-button, media-slider, media-sliderthumb, media-volume-slider, media-volume-sliderthumb, push-button, searchfield-cancel-button, slider-horizontal, sliderthumb-horizontal, sliderthumb-vertical y square-button. Se ha recopilado estadística sobre la demanda de estas palabras clave que no están incluidas en la especificación, y se aplicaron solo en el 0.001% de los casos.
- Se ha añadido la regla CSS @scope, que vincula los estilos CSS considerando la proximidad de la definición del estilo a los elementos. La regla @scope puede utilizarse para evitar la disposición típica de los estilos basada en el orden de los elementos o para ajustar el estilo de un componente sin afectar los estilos de los elementos anidados. Por ejemplo, para divs anidados: <div class="»lightpink-theme»"> <a href="/es/»/#»">¡Soy rosa claro!</a> <div class="»pink-theme»"> <a href="/es/»/#»">¡Rosa diferente!</a> </div> </div> todo el contenido se pintará de rosa claro debido a la acción sobre todo el bloque del estilo «lightpink-theme», especificado en el div padre. Usando @scope, se puede cambiar el ámbito de visibilidad y lograr que el div anidado tenga el estilo «pink-theme» basado en la proximidad de la definición del estilo, en lugar del orden de definición en el código: @scope (.pink-theme) { a { color: hotpink; } } @scope (.lightpink-theme){ a { color: lightpink; } }
- Se ha añadido soporte para la consulta de medios (@media) «scripting», que permite verificar la disponibilidad de la capacidad de ejecutar scripts (por ejemplo, en CSS se puede determinar si el soporte para JavaScript está habilitado).
- Se ha añadido soporte para la consulta de medios prefers-reduced-transparency, que permite detectar cambios en la configuración del sistema que afectan la reducción de la aplicación de efectos de transparencia o semitransparencia (por ejemplo, el modo «Reduce transparency» en macOS, utilizado para mejorar la legibilidad del texto).
- Se ha añadido en CSS soporte para nuevos valores «float: inline-start», «float: inline-end», «clear: inline-start», «clear: inline-end», «resize: block», «resize: inline», que controlan la posicionamiento lógico de los elementos (para el soporte de idiomas que se escriben de arriba hacia abajo y de izquierda a derecha, la posicionamiento lógico utiliza conceptos de inicio, fin y dirección del texto).
- Se ha añadido soporte para los valores stroke-box, content-box y border-box en la propiedad CSS «transform-box», que permiten cambiar el método de cálculo de la región de referencia para las operaciones de transformación, por ejemplo, para implementar efectos gráficos avanzados.
- Se ha añadido la capacidad de enfocar bloques de desplazamiento al navegar mediante el teclado (por ejemplo, se puede establecer el enfoque en el desplazamiento presionando la tecla Tab y desplazarse con las teclas de dirección).
- Se han mejorado las herramientas para desarrolladores web. Se han ampliado las capacidades del panel Sources («Fuentes»), en el cual, en lugar de la sección «Filesystem», se ofrece una pestaña «Workspace» que permite sincronizar con los archivos fuente los cambios realizados a través de las herramientas para desarrolladores.
Se ha proporcionado la posibilidad de cambiar el orden de las pestañas en el panel Sources mediante su desplazamiento con el ratón en modo de arrastrar y soltar. Se ha asegurado el formato del código JavaScript integrado en los elementos script con tipos module, importmap y speculationrules. Se ha añadido resaltado de sintaxis para scripts con tipo importmap y speculationrules.

En el panel Elements, en la pestaña Styles, se ha añadido una sección separada para propiedades personalizadas, que permite definir sus propias propiedades CSS sin necesidad de ejecutar JavaScript. En los resultados de búsqueda, ahora se muestran todas las coincidencias en la línea, no solo la primera, lo cual es útil al buscar en archivos JavaScript minificados (al hacer clic en el resultado, el archivo se abre en el editor y se desplaza vertical y horizontalmente para mostrar la posición encontrada).

Además de las nuevas características y correcciones de errores, en la nueva versión se han solucionado 20 vulnerabilidades. Muchas de estas vulnerabilidades fueron identificadas mediante pruebas automatizadas utilizando las herramientas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer y AFL. Entre otras cosas, este lanzamiento corrige una vulnerabilidad crítica CVE-2023-5218, relacionada con el acceso a memoria después de su liberación (Use after free) en el mecanismo de aislamiento de sitios. Esta vulnerabilidad permite evadir 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 errores, Google ha otorgado un total de 14 premios por un monto de 30,5 mil dólares (un premio de $6000, dos premios de $5000, dos premios de $3000, un premio de $2000, seis premios de $1000 y un premio de $500). El monto de una recompensa aún no ha sido determinado.
Fuente: opennet.ru




