La société Google a publié une version du navigateur web Chrome 137. En même temps, une version stable du projet libre Chromium, qui est la base de Chrome, est disponible. Le navigateur Chrome se distingue de Chromium par l'utilisation des logos de Google, la présence d'un système d'envoi de notifications 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'isolation Sandbox, la fourniture de clés pour Google API et le transport des paramètres RLZ lors de la recherche. Pour ceux qui ont besoin de plus de temps pour la mise à jour, une branche Extended Stable est maintenue, accompagnée de 8 semaines. La prochaine version de Chrome 138 est prévue pour le 24 juin.
Principales modifications dans Chrome 137 :
- Un chatbot Gemini a été intégré dans les versions pour Windows et macOS, capable d'expliquer le contenu de la page consultée et de répondre à des questions liées à la page sans changer d'onglet. L'interaction avec Gemini prend en charge les communications textuelles et vocales. Le travail avec le chatbot est pour l'instant disponible uniquement pour une partie des utilisateurs aux États-Unis ayant des abonnements Google AI Pro et Ultra.
- En parallèle avec le stockage segmenté précédemment mis en œuvre, une isolation du traitement des schémas d'URL « blob: » a été assurée, destinée à accéder aux données générées localement via l'API Blob ou File. Lors du segmentage, une indication distincte est attachée à la clé utilisée pour extraire les objets, définissant le lien avec le principal un domaine, à partir duquel la page principale est ouverte, permettant de bloquer les méthodes de suivi des déplacements de l'utilisateur entre les sites en manipulant l'URL « blob: ».
- En mode de protection avancée du navigateur (Safe Browsing > Enhanced protection), la possibilité d'utiliser un grand modèle linguistique pour identifier les pages frauduleuses par leur contenu a été activée. Le modèle AI s'exécute côté client, mais en cas de soupçons de contenu douteux, une vérification supplémentaire est effectuée sur serveurs Google. Dans la version actuelle, seule la collecte d'informations sur les pages problématiques est réalisée. Il est prévu que dans la prochaine version, des avertissements soient affichés à l'utilisateur.
- La protection contre l'identification cachée des utilisateurs via le cache HSTS (HTTP Strict Transport Security) est activée. HSTS permet aux sites de rediriger l'utilisateur vers HTTPS lors de l'accès via HTTP. Pendant le fonctionnement, le nom d'hôte défini par HSTS est conservé dans un cache interne, ce qui permet d'utiliser la présence ou l'absence de l'hôte dans le cache pour stocker un seul bit d'information. Pour le stockage caché d'un identifiant utilisateur sur 32 bits, un tableau de 32 images peut être utilisé, provenant de différents hôtes via HTTP (http://bit0.example.com/image.jpg, http://bit1.example.com/image.jpg, etc.). L'identifiant est déterminé en vérifiant de quels hôtes les images ont été téléchargées par HTTPS et lesquels par HTTP (si les images ont été précédemment fournies par HTTP et redirigées vers HTTPS via HSTS, elles seront immédiatement chargées par HTTPS lors de demandes suivantes, en contournant l'appel par HTTP). La protection consiste à autoriser la mise à jour de HSTS uniquement pour les ressources de niveau supérieur et à bloquer la mise à jour de HSTS dans les requêtes de sous-ressources.
- Pour les connexions WebRTC, le protocole DTLS 1.3 (Datagram Transport Layer Security, équivalent de TLS pour UDP) est pris en charge. Le support de DTLS 1.3 est nécessaire pour l'utilisation des algorithmes de chiffrement post-quantique dans WebRTC.
- L'option de ligne de commande «—load-extension», permettant de charger des extensions, a été supprimée. Cette option a été retirée pour réduire le risque de son utilisation pour injecter des extensions malveillantes. Pour charger de manière forcée des extensions non compressées, il est recommandé d'utiliser le bouton Load Unpacked sur la page de gestion des extensions (chrome://extensions/) après avoir activé le mode développeur. Dans Chromium et les builds de test de Chrome For Testing, le support de l'option «—load-extension» est maintenu.
- Il a été décidé de renoncer au retour automatique à l'utilisation du moteur de rendu logiciel SwiftShader pour WebGL, qui implémente l'API Vulkan. En l'absence d'un backend approprié basé sur un GPU, la création d'un contexte WebGL renverra désormais une erreur au lieu de passer à SwiftShader. L'abandon de SwiftShader améliorera la sécurité en évitant l'exécution de code généré par un compilateur JIT dans le processus responsable des interactions avec le GPU. Une option de ligne de commande séparée « —enable-unsafe-swiftshader » est prévue pour réactiver SwiftShader. Dans la version 137 de Chrome, pour les utilisateurs des plateformes Linux et macOS, un avertissement s'affichera dans la console web lors de l'utilisation de SwiftShader, et dans Chrome 138, le retour à SwiftShader sera désactivé. Pour les utilisateurs Windows, le système SwiftShader est remplacé par WARP (Windows Advanced Rasterization Platform), un moteur de rendu graphique intégré à Windows.
- Les paramètres ont été enrichis d'une fonction « Autofill with AI », simplifiant le remplissage des formulaires web. Lorsqu'elle est activée, le navigateur utilise un modèle d'IA pour comprendre le formulaire web et remplir automatiquement les champs, en s'appuyant sur la manière dont l'utilisateur a précédemment rempli des formulaires similaires.
- L'API Web Cryptography prend en charge les algorithmes cryptographiques basés sur la courbe elliptique Curve25519, tels que l'algorithme de création de signatures numériques Ed25519.
- La propriété CSS « reading-flow » a été implémentée, permettant de gérer l'ordre de traitement des éléments dans les conteneurs flex, grid et block lors de l'utilisation de lecteurs d'écran et de la navigation séquentielle. Une propriété « reading-order » a également été ajoutée, permettant de redéfinir manuellement l'ordre des éléments.
- Une fonction CSS « if() » a été proposée, destinée à sélectionner des valeurs en fonction du résultat d'expressions conditionnelles. Un tableau de paires « condition: valeur », séparées par des points-virgules, est passé en tant qu'argument. La fonction parcourt ces paires et s'arrête à la première condition remplie. Par exemple : « background-color: if(style(—color: white): black; else: white); ».
- La fonction shape() a été réalisée dans la propriété CSS offset-path pour créer des formes à l'aide de commandes équivalentes à la fonction path(), mais permettant d'utiliser une syntaxe standard CSS.
- Ajout de l'API JSPI (JavaScript Promise Integration), qui permet l'intégration d'applications WebAssembly avec l'objet JavaScript Promise et permet aux programmes WebAssembly d'agir en tant que générateurs de Promise et d'interagir avec des API basées sur Promise.
- Dans l'API CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D et ImageData, la prise en charge des formats de pixels utilisant des valeurs à virgule flottante pour représenter les composants de couleur a été ajoutée.
- Dans le mode Origin trials, des APIs expérimentales Rewriter et Writer ont été proposées, permettant de reformuler (par exemple, de résumer ou de changer le style narratif) ou de générer du texte à l'aide de grands modèles linguistiques.
- Les outils pour les développeurs web ont ajouté la possibilité de se lier à des espaces de travail, permettant de sauvegarder dans des fichiers locaux les modifications apportées au JavaScript, HTML et CSS lorsque l'on travaille avec les outils intégrés au navigateur. Les capacités de l'assistant AI ont été étendues, il peut maintenant modifier le CSS et analyser les performances.
En plus des nouvelles fonctionnalités et des corrections de bugs, la nouvelle version a résolu 1 vulnérabilité. De nombreuses vulnérabilités ont été découvertes grâce à des tests automatisés avec les outils AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer et AFL. Aucun problème critique permettant de contourner tous les niveaux de protection du navigateur et d'exécuter du code en dehors de l'environnement sandbox n'a été constaté. Dans le cadre du programme de récompenses pour la découverte de vulnérabilités pour cette version, Google a versé 8 récompenses d'un montant total de 7500 dollars (une récompense de 4000 $, 2000 $, 1000 $ et 500 $). Le montant des quatre récompenses n'est pas encore déterminé.
Source : opennet.ru
