La compañía Google ha publicado la versión del navegador web Chrome 133. Al mismo tiempo, está disponible la versión estable del proyecto libre Chromium, que sirve como base para Chrome. El navegador Chrome se diferencia de Chromium por el uso de los logotipos de Google, la implementación de un sistema de envío de notificaciones en caso de fallos, módulos para la reproducción de contenido video protegido contra copia (DRM), un sistema de actualización automática, la inclusión permanente de la sandboxing, el suministro de claves para la API de Google y la transmisión de parámetros RLZ durante las búsquedas. Para quienes necesitan más tiempo para actualizar, se mantiene una rama Extended Stable que se acompaña de 8 semanas. La siguiente versión de Chrome 134 está programada para el 4 de marzo.
Principales cambios en Chrome 133:
- Se ha habilitado para el 1% de los usuarios el soporte para la congelación de pestañas en el modo de ahorro de energía. Se congelan automáticamente las pestañas que consumen muchos recursos de CPU y están ocultas durante más de 5 minutos. No se congelan las pestañas que reproduzcan sonido o estén relacionadas con la gestión de dispositivos externos o con la realización de videoconferencias y audioconferencias (tales pestañas se identifican mediante el acceso a la API para trabajar con USB, Bluetooth, cámaras, dispositivos de entrada y micrófonos, así como la organización de un canal de comunicación mediante RTCDataChannel o MediaStreamTrack). Para gestionar la activación de la auto-congelación se puede utilizar la configuración 'chrome://flags/#freezing-on-energy-saver'.
- En el servicio Chrome Sync se ha dejado de dar soporte a las versiones de Chrome que tienen más de 4 años. Para almacenar información vinculada a la cuenta de Google y sincronizar los datos del navegador entre sistemas, es necesario utilizar al menos la versión Chrome 89.
- En la versión para Android se ha añadido una configuración para desactivar los optimizadores JIT en el motor JavaScript V8. Desactivar JIT puede ser útil para mejorar la seguridad al trabajar con aplicaciones web potencialmente peligrosas al reducir los posibles vectores para llevar a cabo un ataque. En las versiones de Chrome para sistemas de escritorio, esta configuración está disponible en la página chrome://settings/security, a partir de la versión Chrome 122.
- Se ha alineado con el estándar de análisis de esquemas de URL no especiales (no incluidos en la lista de esquemas típicos). Por ejemplo, la URL 'git://example.com/path'.
- Se han ampliado las capacidades de la función CSS attr(), que permite utilizar en CSS los valores de un atributo HTML específico. Anteriormente, la función attr() solo podía funcionar con la propiedad «content» de los pseudo-elementos y convertir valores en el tipo CSS «<string>», pero ahora se puede aplicar con cualquier propiedad CSS y convertir valores en cualquier tipo CSS. En el siguiente ejemplo, el color de la propiedad CSS «color» se establece en función del análisis del atributo propio «data-foo» especificado en el elemento «div», y si el atributo no está presente, se utiliza el valor «red». <div data-foo="»blue»">test</div> … div { color: attr(data-foo type(<color>), red); }
- Se ha implementado la consulta CSS «@container scroll-state()», que permite determinar el estado de desplazamiento de un área. Se admiten los estados: «stuck» — el contenedor está anclado a uno de los lados del área con desplazamiento; «snapped» — el contenedor está alineado horizontal o verticalmente; «scrollable» — el contenedor que se puede desplazar en la dirección indicada.
- Se han agregado las propiedades CSS «text-box», «text-box-trim» y «text-box-edge», que permiten controlar con precisión los márgenes antes y después del texto. La propiedad «text-box-trim» define el área de recorte (superior, inferior o en ambos lados), mientras que «text-box-edge» establece el método de recorte de los bordes. La propiedad «text-box» combina las capacidades de «text-box-trim» y «text-box-edge».
- Se ha agregado la pseudo-clase «:open» en CSS, que permite determinar cuándo los elementos <dialog> y <details> tienen ventanas de diálogo abiertas, y para los elementos <select> y <input> se muestran ventanas de selección.
- Se ha añadido el primitivo DOM moveBefore para mover un elemento en el árbol DOM sin restablecer su estado.
- Se ha añadido la interfaz FileSystemObserver, que permite a los sitios rastrear cambios en el sistema de archivos.
- Se ha añadido el método getClientCapabilities() en el API PublicKeyCredential para determinar las capacidades de WebAuthn que admite el navegador.
- Se ha añadido la propiedad pause() en el objeto Atomics para informar que el código está esperando que se libere un bloqueo.
- Se ha añadido soporte para el esquema de acuerdo de claves X25519 en el API WebCrypto, que puede utilizarse a través de la interfaz SubtleCrypto (métodos generateKey, importKey, exportKey, deriveKey y deriveBits).
- En WebAssembly se ha implementado la posibilidad de usar punteros de 64 bits (Memory64), que permiten trabajar con áreas de memoria lineales que superan los 4 GB. Este cambio no añade nuevas instrucciones de WebAssembly, sino que permite usar índices de 64 bits en instrucciones ya existentes para tablas y áreas de memoria. Trabajar en modo Memory64 conlleva gastos generales perceptibles; dependiendo del tipo de carga, puede haber una desaceleración de entre el 10 % y el doble.
- Se han ampliado las capacidades de las herramientas para desarrolladores web. Se ha asegurado la conservación del historial del chat con el asistente AI entre sesiones. Se ha añadido un panel 'Novedades' con un resumen de los cambios en la nueva versión. Se ha añadido la posibilidad de incluir scripts en una lista de ignorar, para excluir su visualización en el gráfico de perfilado de rendimiento. En el panel de Performance, en la pestaña Insights, se han destacado las imágenes cuyo tamaño se puede optimizar, y en la pestaña Summary se muestra el seguimiento de la pila de llamadas de JavaScript (incluidas las llamadas asíncronas).


Además de las novedades y correcciones de errores, en la nueva versión se han solucionado 12 vulnerabilidades. Muchas de las vulnerabilidades se han descubierto como resultado de pruebas automatizadas utilizando herramientas como AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer y AFL. Se ha asignado un alto nivel de peligrosidad a dos problemas que llevan a acceder a memoria ya liberada en el motor V8 y en la biblioteca Skia. No se han identificado problemas críticos que permitan eludir todos los niveles de protección del navegador y ejecutar código en el sistema fuera del entorno de sandbox. En el marco del programa de recompensas por informar sobre vulnerabilidades, Google ha otorgado 2 premios por un total de 9000 dólares estadounidenses (uno de $7000 y otro de $2000). El monto de una de las recompensas aún no se ha determinado.
Fuente: opennet.ru


