La société Google a publié la version 118 de son navigateur web Chrome. 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, un système d'envoi de notifications en cas de plantage, des modules pour la lecture de contenus vidéo protégés par des droits d'auteur (DRM), un système de mise à jour automatique, l'activation permanente de l'isolation Sandbox, la fourniture de clés pour l'API de Google et la transmission des paramètres RLZ lors des recherches. Pour ceux qui ont besoin de plus de temps pour la mise à jour, une branche Extended Stable est maintenue et accompagnée de huit semaines de support. La prochaine version de Chrome, 119, est prévue pour le 31 octobre.
Principales modifications dans Chrome 118 :
- La préparation à l'abandon du support des cookies tiers dans Chrome a commencé, lorsque ceux-ci sont configurés lors de la visite de sites différents de celui du domaine de la page actuelle. Ces cookies sont utilisés pour suivre les déplacements de l'utilisateur entre les sites dans le code des réseaux publicitaires, des widgets de réseaux sociaux et des systèmes d'analyse web. Les changements s'inscrivent dans le cadre de l'initiative Privacy Sandbox, visant à trouver un compromis entre le besoin des utilisateurs de préserver leur confidentialité et le désir des réseaux publicitaires et des sites de suivre les préférences des visiteurs.
Avec Chrome 118, un avertissement est désormais affiché dans les outils pour les développeurs web lors de l'envoi de cookies susceptibles d'être bloqués à l'avenir. Une option de ligne de commande « --test-third-party-cookie-phaseout » et un réglage « chrome://flags/#test-third-party-cookie-phaseout » ont également été ajoutés pour forcer l'activation du blocage dans le cadre de tests. Le blocage effectif des cookies tiers commencera au premier trimestre de 2024 et, durant la période de test qui s'étendra jusqu'au troisième trimestre, ne concernera que 1 % des utilisateurs de Chrome. Après le troisième trimestre 2024, la portée du blocage sera étendue à 100 %.
Au lieu des cookies de suivi, il est proposé d'utiliser les API suivantes :
- FedCM (Federated Credential Management), qui permet de créer des services d'identification unifiés, garantissant la confidentialité et fonctionnant sans cookies tiers.
- Private State Tokens, qui permet de différencier différents utilisateurs sans utiliser d'identifiants intersites et de transmettre des informations d'authentification d'un contexte à un autre.
- Topics (critères), qui permet de déterminer des catégories d'intérêts des utilisateurs, pouvant être utilisées pour identifier des groupes d'utilisateurs ayant des intérêts similaires sans identifier des utilisateurs individuels via des cookies de suivi. Les intérêts sont calculés sur la base de l'activité de l'utilisateur dans le navigateur et sont stockés sur l'appareil de l'utilisateur. Grâce à l'API Topics, le réseau publicitaire peut obtenir des informations générales sur certains intérêts sans avoir accès à des informations sur l'activité spécifique de l'utilisateur.
- Public visée, solution pour le reciblage et l'évaluation de son propre public (travail avec les utilisateurs qui ont déjà visité le site auparavant).
- Rapport d'attribution, permet d'évaluer des indicateurs de performance publicitaire tels que les clics et les conversions (achat sur le site après clic).
- API d'accès au stockage, peut être utilisée pour demander à l'utilisateur l'autorisation d'accéder au stockage des cookies, si par défaut les cookies tiers sont bloqués.
- Tous les utilisateurs bénéficient désormais du support du mécanisme ECH (Encrypted Client Hello), qui fait évoluer l'ESNI (Encrypted Server Name Indication) et permet de chiffrer les informations sur les paramètres de sessions TLS, telles que le nom de domaine demandé. La principale différence entre ECH et ESNI est qu'avec ECH, au lieu de chiffrer des champs individuels, l'ensemble du message TLS ClientHello est chiffré, ce qui empêche les fuites par des champs non couverts par l'ESNI, comme le champ PSK (Pre-Shared Key). Un paramètre « chrome://flags#encrypted-client-hello » est prévu pour gérer l'activation de l'ECH.
- Avec l'activation de la protection avancée du navigateur (Safe Browsing > Enhanced protection), il est désormais possible de désactiver à distance les extensions malveillantes installées en dehors du répertoire officiel des extensions. La décision de suppression est prise sur les serveurs de Google sur la base d'un examen manuel ou suite à l'activation du système automatique de détection de code malveillant.
- Avec l'activation de la protection standard du navigateur (Safe Browsing > Standard protection), une vérification de sécurité des URL ouvertes est réalisée en temps réel, effectuée sur la base de l'envoi à serveurs Google de hachages partiels des URL consultées par l'utilisateur. Pour exclure la correspondance adresses IP entre l'utilisateur et le hachage, les données sont transmises via un proxy intermédiaire. Auparavant, la vérification était effectuée en téléchargeant sur le système de l’utilisateur une copie locale de la liste des URL non sécurisées. Le nouveau schéma permet de bloquer plus rapidement les URL malveillantes.
- L'apparence des pages affichées lors de la tentative d'ouverture d'un site jugé dangereux lors de la vérification via le mécanisme Safe Browsing a été améliorée.

- Dans la télémétrie envoyée aux serveurs de Google lors de l'activation de la protection avancée du navigateur (Safe Browsing > Enhanced protection), les appels des extensions à l'API chrome.tabs sont désormais pris en compte. Les données sont collectées pour détecter une activité malveillante et des violations des règles dans les extensions.
- Avec l'activation de la protection avancée du navigateur (Safe Browsing > Enhanced protection), un support pour le scan approfondi des archives ZIP et RAR chiffrées est assuré du côté de Google (l'utilisateur est invité à fournir le mot de passe de décompression, après quoi le contenu est envoyé pour vérification aux serveurs de Google).
- Le configurateur et le guide sur la confidentialité incluent un nouveau texte expliquant la nature des niveaux de protection Safe Browsing, ainsi que des liens vers les articles correspondants pour plus d'informations. Les descriptions de la protection standard, de la désactivation de la protection et des avertissements concernant la compromission des mots de passe ont été simplifiées.

- La section Quests (suivi des prix dans les boutiques en ligne) sur la page du nouvel onglet a été mise à jour avec des informations sur les réductions disponibles. L'indicateur de réduction peut également apparaître dans la barre d'adresse lors de l'ouverture de pages contenant des produits de boutiques en ligne suivies par le service Google.
- Conformément à la spécification RFC-6265bis, le blocage de tous les cookies contenant des caractères de contrôle et définis via JavaScript a été mis en œuvre. Auparavant, les cookies avec des caractères nuls, des retours chariot et des sauts de ligne étaient tronqués par le caractère problématique au lieu d'être bloqués, ce qui pouvait être utilisé à des fins malveillantes dans certaines situations. Pour désactiver ce nouveau comportement, vous pouvez utiliser l'option « —disable-features=BlockTruncatedCookies ».
- Il est désormais permis aux Service Workers enregistrés d'accéder à l'API WebUSB.
- La nécessité pour l'utilisateur d'activer préalablement la possibilité d'afficher des dialogues pour la demande et la confirmation des paiements a été supprimée.
- Le décodage des représentations ASCII des caractères sous forme de codes « %xx » a été interrompu. Par exemple, auparavant, « http://example.com/ » était décodé en « http://example.com/A » avant d'être enregistré dans url.href, mais maintenant il restera « http://example.com/ ».
- La possibilité de positionner verticalement du texte dans les éléments de web-formulaires select, meter, progress, button, textarea et input a été ajoutée. Le positionnement du texte dans les formulaires est défini à l'aide de la propriété CSS writing-mode, qui peut prendre les valeurs vertical-rl ou vertical-lr pour l'affichage vertical.
- Le CSS-propriété « appearance » a cessé de prendre en charge des mots-clés non standard : inner-spin-button, media-slider, media-sliderthumb, media-volume-slider, media-volume-sliderthumb, push-button, searchfield-cancel-button, slider-horizontal, sliderthumb-horizontal, sliderthumb-vertical et square-button. Des statistiques ont été collectées pour évaluer l'utilisation de ces mots-clés qui ne figuraient pas dans la spécification, révélant qu'ils n'étaient utilisés que dans 0,001 % des cas.
- La règle CSS @scope a été ajoutée, permettant de lier les styles CSS en tenant compte de la proximité de la définition du style par rapport aux éléments. La règle @scope peut être utilisée pour contourner l'application standard des styles basée sur l'ordre des éléments ou pour ajuster le style d'un composant sans toucher aux styles des éléments imbriqués. Par exemple, pour des div imbriqués : <div class="»lightpink-theme»"> <a href="/fr/»/#»">Je suis rose clair !</a> <div class="»pink-theme»"> <a href="/fr/»/#»">Rose différent !</a> </div> </div> tout le contenu sera coloré en rose clair en raison de l'application dans tout le bloc de style « lightpink-theme », spécifié dans le div parent. En utilisant @scope, on peut modifier la portée et obtenir que le div imbriqué reçoive le style « pink-theme » en fonction de la proximité de la définition du style, et non de l'ordre de définition dans le code : @scope (.pink-theme) { a { color: hotpink; } } @scope (.lightpink-theme){ a { color: lightpink; } }
- La prise en charge de la requête média (@media) «scripting» a été ajoutée, permettant de vérifier la disponibilité de l'exécution de scripts (par exemple, il est possible de déterminer dans le CSS si le support de JavaScript est activé).
- La prise en charge de la requête média prefers-reduced-transparency a été ajoutée, permettant de détecter les changements dans les paramètres du système qui affectent l'application des effets de transparence ou de semi-transparence (par exemple, le mode «Reduce transparency» sur macOS, utilisé pour améliorer la lisibilité du texte).
- La prise en charge de nouvelles valeurs dans le CSS comme «float: inline-start», «float: inline-end», «clear: inline-start», «clear: inline-end», «resize: block», «resize: inline» a été ajoutée, régissant le positionnement logique des éléments (pour le support des langues qui s'écrivent de droite à gauche et de haut en bas, le positionnement logique utilise les concepts de début, de fin et de direction du texte).
- Le CSS a été mis à jour pour ajouter la prise en charge des valeurs stroke-box, content-box et border-box dans la propriété «transform-box», permettant de modifier la méthode de calcul de la zone de référence pour les opérations de transformation, par exemple, pour réaliser des effets graphiques avancés.
- Il est désormais possible de mettre le focus sur les blocs de défilement lors de la navigation au clavier (par exemple, le focus peut être mis sur le défilement en appuyant sur la touche Tab et en le faisant défiler avec les flèches directionnelles).
- Des améliorations ont été apportées aux outils pour les développeurs web. Les capacités du panneau Sources ont été étendues, avec l'introduction d'un onglet «Workspace» au lieu de la section «Filesystem», ce qui permet de synchroniser les modifications ajoutées via les outils de développement avec les fichiers sources.
Il est désormais possible de modifier l'ordre des onglets dans le panneau Sources en les déplaçant par glisser-déposer. Le formatage du code JavaScript intégré dans les éléments script avec les types module, importmap et speculationrules a été amélioré. La coloration syntaxique des scripts de type importmap et speculationrules a été ajoutée.

Dans le panneau Elements, un nouvel onglet Styles a été ajouté avec une section dédiée aux propriétés personnalisées, permettant de définir ses propres propriétés CSS sans avoir à exécuter JavaScript. Dans les résultats de recherche, toutes les correspondances de la chaîne sont affichées, et pas seulement la première, ce qui est pratique lors de la recherche dans des fichiers JavaScript minifiés (en cliquant sur le résultat, le fichier s'ouvre dans l'éditeur et fait défiler verticalement et horizontalement pour montrer la position trouvée).

En plus des nouvelles fonctionnalités et corrections de bogues, la nouvelle version élimine 20 vulnérabilités. Beaucoup de vulnérabilités ont été détectées grâce à des tests automatisés utilisant les outils AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer et AFL. Parmi d'autres, cette version corrige une vulnérabilité critique CVE-2023-5218 liée à l'accès à la mémoire après sa libération (Use after free) dans le mécanisme d'isolation des sites. Cette vulnérabilité permet de contourner tous les niveaux de protection du navigateur et d'exécuter du code sur le système en dehors de l'environnement sandbox. Dans le cadre du programme de récompenses pour la découverte de vulnérabilités, Google a versé 14 primes totalisant 30,5 mille dollars pour cette version (une prime de 6000 $, deux primes de 5000 $, deux primes de 3000 $, une prime de 2000 $, six primes de 1000 $ et une prime de 500 $). Le montant d'une récompense n'a pas encore été déterminé.
Source : opennet.ru




