La société Google a publié la version 146 de son navigateur web Chrome. Parallèlement, une version stable du projet open source Chromium, qui sert de base à Chrome, est également disponible. Le navigateur Chrome se distingue de Chromium par l'utilisation des logos de Google, la présence d'un système de notification en cas de plantage, des modules pour la lecture de contenu vidéo protégé (DRM), un système de mise à jour automatique, l'activation permanente de l'isolement Sandbox, la fourniture de clés pour les API de Google et le passage de paramètres RLZ lors des recherches. Pour ceux qui ont besoin de plus de temps pour les mises à jour, une branche Extended Stable est maintenue séparément, accompagnée de 8 semaines. La prochaine version de Chrome, la 147, est prévue pour le 7 avril.
De plus, Google a annoncé la publication de versions officielles de Chrome pour les systèmes Linux basés sur l'architecture ARM64. Les versions Linux pour ARM64 commenceront à être créées au deuxième trimestre de 2026 et seront disponibles dans les paquets deb et rpm. Auparavant, les versions officielles de Chrome pour Linux étaient publiées uniquement pour l'architecture x86_64, tandis que pour l'architecture ARM64, seules des versions tierces de Chromium étaient proposées par les distributions. La version officielle de Chrome se distingue par la prise en charge de la connexion à un compte Google, l'intégration des services Google, la synchronisation des données entre les appareils, l'installation simplifiée des extensions depuis le catalogue Chrome Web Store et la possibilité d'activer un mode de protection avancé.
Les principales modifications de Chrome 146 :
- Pour certains utilisateurs, un mécanisme d'intervention sélective des permissions a été activé, qui bloque l'accès des scripts JavaScript liés à la publicité aux fonctionnalités affectant la confidentialité, telles que l'accès aux informations de localisation, au microphone, au presse-papiers, au Bluetooth, à l'USB, au port série et à la capture d'écran. L'idée est que si l'utilisateur a accordé à la page l'accès à de telles fonctionnalités, ces autorisations ne seront pas appliquées aux scripts tiers placés sur cette page, qui sont chargés depuis d'autres sites (soit par le biais de balises iframe, soit directement via la balise script).
- La structure des paramètres liés à la sécurité a été modifiée. Pour simplifier l'expérience utilisateur, une option a été ajoutée pour choisir entre un niveau de protection standard et renforcé, permettant d'atteindre le niveau de sécurité souhaité sans avoir à se plonger dans les détails et options avancées. En choisissant le mode renforcé, une vérification des URL et du contenu est effectuée sur serveurs Google, des avertissements sont affichés pour les connexions non sécurisées et le chargement des sites peu familiers à l'utilisateur est ralenti afin de bloquer les attaques. Si souhaité, l'utilisateur peut revenir à l'ancienne méthode de configuration séparée de chaque paramètre. Pour gérer l'activation de la nouvelle interface des paramètres de sécurité, un paramètre « chrome://flags/#bundled-security-settings » a été proposé.
- Le développement du mode AI a été poursuivi, permettant d'interagir avec un agent AI directement depuis la barre d'adresse ou à partir de la page affichée lors de l'ouverture d'un nouvel onglet. Le mode AI permet de poser des questions complexes en langage naturel et de recevoir des réponses basées sur l'agrégation d'informations provenant des pages les plus pertinentes sur le sujet donné. Si nécessaire, l'utilisateur peut préciser l'information avec des questions supplémentaires. Ce mode permet également de poser des questions sur le contenu de la page directement depuis la barre d'adresse. Dans Chrome 146, il est désormais possible d'utiliser des fichiers de Google Drive comme contexte pour l'agent AI.
- Dans le mode de remplissage automatique, il est désormais possible d'utiliser des types de données supplémentaires qui étaient auparavant disponibles uniquement en activant le mode de remplissage automatique amélioré (Enhanced autofill).
- Un déploiement progressif de la protection contre l'accès à la système local lors d'interactions avec des sites publics a commencé pour les utilisateurs. Les demandes des sites vers adresses IP le réseau local (intranet ou adresses internes) ou l'interface de boucle (127.0.0.0/8) nécessiteront une confirmation de l'utilisateur pour l'opération. Les actions protégées incluent les tentatives de chargement de ressources, les requêtes fetch() et les insertions iframe. La protection n'est pas encore appliquée pour les connexions via WebSockets, WebTransport et WebRTC, mais elle sera ajoutée pour celles-ci dans la prochaine version.
L'accès aux ressources internes est utilisé par les attaquants pour l'identification indirecte et la mise en œuvre d'attaques CSRF sur les routeurs, les points d'accès, les imprimantes, les interfaces web d'entreprise et d'autres dispositifs et services qui acceptent des requêtes uniquement depuis le réseau local. Pour gérer l'inclusion de sous-réseaux dans la catégorie interne ou publique, la configuration LocalNetworkAccessIpAddressSpaceOverrides est proposée, et pour permettre automatiquement l'accès aux iframes enfants en fonction des autorisations de l'iframe parent, la configuration LocalNetworkAccessPermissionsPolicyDefaultEnabled a été ajoutée.
- Les propriétés CSS « animation-trigger » et « trigger-scope » ont été ajoutées pour contrôler l'animation en fonction de la position de défilement de la page. Par exemple, il est possible de démarrer, d'arrêter ou de redémarrer une animation dès qu'une certaine position de défilement est atteinte, en utilisant uniquement du CSS déclaratif sans avoir besoin de code JavaScript.
- La prise en charge du registre des éléments personnalisés a été mise en place pour diviser la portée des éléments HTML personnalisés, ce qui peut être nécessaire lors de l'utilisation de plusieurs éléments HTML personnalisés ayant le même nom sur une même page. En cas d'utilisation de plusieurs bibliothèques sur une page, définissant un élément avec le même nom, on peut lier les éléments de chaque bibliothèque à certaines parties de la hiérarchie DOM à l'aide de l'objet JavaScript CustomElementRegistry. Par exemple, si deux bibliothèques définissent différents éléments avec le même nom , un élément de la première bibliothèque peut être utilisé dans une partie de la page, tandis que l'élément de la deuxième bibliothèque peut être utilisé dans une autre partie.
- Une API Sanitizer a été ajoutée, ce qui peut être utile pour nettoyer les données entrantes et retirer les balises HTML pouvant être utilisées pour effectuer des attaques XSS. L'API fournit des méthodes pour manipuler le HTML et retirer des éléments HTML influant sur l'affichage et l'exécution. Pour l'insertion sûre de contenu HTML, la méthode element.setHTML() a été proposée, qui est similaire à element.innerHTML, mais protège contre le scripting intersite (XSS). Pour l'analyse sécurisée du HTML, la méthode document.parseHTML() a été mise en œuvre. const unsanitizedString = «abc def»; const sanitizer1 = new Sanitizer({ elements: [«div», «p», «button», «script»], }); const target = document.getElementById(«target»); target.setHTML(unsanitizedString, { sanitizer: sanitizer1 });
- L'élément « meta » a été mis à jour avec un paramètre nommé « text-scale » (par exemple, <meta name= »text-scale » content=»scale»>), qui inclut un redimensionnement automatique de la taille de la police sur la page en fonction des paramètres du navigateur et du système d'exploitation, si des unités de mesure relatives (rem et em) sont utilisées sur la page.
- L'API WebGPU a ajouté un mode de compatibilité optionnel, fournissant un sous-ensemble de fonctionnalités capable de fonctionner sur des systèmes avec des API graphiques obsolètes, telles que OpenGL et Direct3D11.
- JavaScript a introduit la possibilité de combiner plusieurs itérateurs en un seul à l'aide de la méthode Iterator.concat().
- Dans le mode «Origin trials», une API WebNN a été mise en œuvre, permettant d'utiliser les services de l'opération système pour l'apprentissage machine et les capacités matérielles associées.
- Dans le mode « Origin trials », l'API CPU Performance a été mise en place pour obtenir des informations sur le niveau de performance et les caractéristiques du processeur (nombre de cœurs, type, architecture, modèle, fréquence, etc.).
- Dans le mode « Origin trials », l'attribut « focusgroup » a été ajouté, permettant d'utiliser les touches de contrôle du curseur pour naviguer entre les boutons ou autres éléments liés au changement de focus, au lieu de tabuler.
- Des améliorations ont été apportées aux outils pour les développeurs web. Dans la console web, il est maintenant possible de conserver les résultats de l'édition de commandes lors de la navigation dans l'historique des opérations. Dans le panneau Elements, l'affichage des styles CSS ajoutés par programmation au Shadow DOM est désormais réalisé via un nœud distinct « #adopted-style-sheets » dans l'arbre DOM, à l'instar de la visualisation et de l'édition des styles définis via la balise <style>.
Outre les nouveautés et corrections de bogues de la nouvelle version, 29 vulnérabilités ont été résolues. Bon nombre de ces vulnérabilités ont été identifiées grâce à des tests automatisés avec des outils comme AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer et AFL. L'une des problématiques (dépassement de tampon dans WebML) a été classée au niveau critique, ce qui implique que la vulnérabilité permet de contourner tous les niveaux de protection du navigateur et d'exécuter du code dans le système en dehors de l'environnement de sandbox. Dans le cadre du programme de récompense pour la découverte de vulnérabilités pour cette version, Google a établi 29 prix et a versé 211 000 dollars, représentant un record pour les paiements dans le cadre d'une seule version (deux prix de 43 000 $, un prix chacun de 36 000 $, 33 000 $, 11 000 $ et 7 000 $, deux prix de 10 000 $ et 3 000 $, et quatre prix de 2 000 $ et 1 000 $). Le montant de 12 des récompenses n'est pas encore déterminé.
Source : opennet.ru
