La société Google a publié la version du navigateur web Chrome 123. En même temps, une version stable du projet open-source Chromium, qui sert de base à Chrome, est disponible. Le navigateur Chrome se distingue de Chromium par l'utilisation des logos Google, un système d'envoi de notifications en cas de plantage, des modules de lecture de contenu vidéo protégé (DRM), un système de mise à jour automatique, une isolation Sandbox toujours activée, la fourniture de clés pour l'API Google, et la transmission de paramètres RLZ lors des recherches. Pour ceux qui ont besoin de plus de temps pour mettre à jour, une branche Extended Stable est maintenue, accompagnée d'une période de 8 semaines. La prochaine version de Chrome 124 est prévue pour le 16 avril.
Principales modifications dans Chrome 123 :
- La page affichée lors de l'ouverture d'un nouvel onglet propose une nouvelle section affichant des liens des onglets récemment ouverts sur d'autres appareils, liés à un même compte Google.

- Ajout de la prise en charge de l'encodage de contenu utilisant l'algorithme de compression Zstandard (zstd), en plus des algorithmes précédemment pris en charge gzip, brotli et deflate.
- La mise en œuvre du codec vidéo open-source Theora, créé par l'organisation Xiph.org Foundation sur la base du codec VP3 et soutenu dans Firefox et Chrome depuis 2009, a été supprimée, mais n'est pas supportée dans Chrome pour Android et dans les navigateurs basés sur WebKit, tels que Safari. Les raisons de la cessation de la prise en charge de Theora incluent des préoccupations selon lesquelles l'implémentation de Theora, qui comportait une logique assez complexe pour l'analyse des données binaires et le décodage des flux, pourrait contenir des vulnérabilités similaires à des problèmes critiques récents avec l'encodeur VP8. Selon les développeurs, en raison de l'augmentation des attaques 0-day sur les codecs multimédias, les risques de sécurité l'emportent sur le niveau de demande pour le codec Theora, qui est peu utilisé dans la pratique, mais reste une cible significative pour d'éventuelles attaques.
- La montée progressive du pourcentage d'utilisateurs pour lesquels le support des cookies tiers, émis lors de la consultation de sites différents du domaine de la page actuelle, est désactivé. 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. Ces 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. La désactivation des cookies tiers est prévue pour être étendue progressivement, atteignant 100 % d'ici le troisième trimestre 2024. Pour désactiver cette fonctionnalité sans attendre les changements externes, une configuration est prévue : « chrome://flags/#test-third-party-cookie-phaseout ».
- Pour un petit pourcentage d'utilisateurs aux États-Unis, la prise en charge des fonctionnalités utilisant l'apprentissage machine est activée — le mode de regroupement intelligent des onglets, le générateur de thèmes et l'assistant interactif, décrits dans l'annonce de la version de Chrome 121. Pour les systèmes avec gestion centralisée de la configuration, l'administrateur peut activer les outils d'IA au niveau des politiques, sans nécessité d'activer le mode expérimental.
- Le service de synchronisation des paramètres, de l'historique et des favoris (Chrome Sync) a cessé de supporter les versions antérieures à Chrome 82.
- Lors de l'activation de la protection avancée du navigateur (Safe Browsing > Protection améliorée), des informations concernant les demandes de permissions étendues émises par des sites sont envoyées à Google (ces pages sont vérifiées par une base extérieure de contenus malveillants et, en cas de correspondance, un avertissement est immédiatement affiché à l'utilisateur). L'envoi de télémétrie concernant l'annulation par l'utilisateur des avertissements affichés avant l'ouverture de pages figurant sur la liste noire de Google est également inclus.
- Google a publié un article expliquant les méthodes utilisées pour vérifier la sécurité des pages ouvertes par l'utilisateur en fonction d'une base extérieure de contenus malveillants. le serveurPour préserver la confidentialité lors de la vérification des URL ouvertes par l'utilisateur, seules des parties non complètes des hachages des URL, avec les premiers 4 octets du hachage, sont transmises à Google. le serveur Ce préfixe est vérifié dans la base de données des pages malveillantes et, en cas de correspondance, la liste des hachages complets correspondants au préfixe est retournée au navigateur de l'utilisateur, côté duquel la vérification finale avec le hachage complet de 32 octets de l'URL est déjà effectuée. Pour éviter de faire correspondre la demande avec l'adresse IP de l'utilisateur, le préfixe de hachage est d'abord envoyé à un proxy intermédiaire, qui transmet la demande au nom de son propre serveur à celui du système Safe Browsing.

- Des avertissements sont affichés dans la console des outils pour développeurs web lors de l'envoi par la page d'une demande dans le réseau interne (192.168.x.x, 10.x.x.x, etc.), si de telles demandes sont effectuées en dehors d'un contexte sécurisé et n'ont pas passé le contrôle préventif. Avant l'envoi effectif de la demande initiée par le site vers une ressource dans le réseau interne, le navigateur enverra d'abord une demande test préventive et vérifiera si le serveur a retourné l'en-tête HTTP «Access-Control-Allow-Private-Network: true», autorisant l'accès au réseau intranet. Si l'accès n'est pas autorisé, cela constitue une tentative d'accès non ciblé à un service interne, ce qui peut indiquer une tentative d'attaque via le navigateur sur des ressources dans le réseau local (par exemple, un attaquant pourrait insérer dans un iframe une demande au web interface d'un routeur domestique, comme «»). Dans la version Chrome 130, l'avertissement prévu sera remplacé par un message d'erreur et bloquera les demandes non conformes.
- Dans Chrome pour Android et iOS, la possibilité de continuer à naviguer sur des sites précédemment ouverts sur d'autres appareils associés au même compte Google a été ajoutée.
- Dans Chrome pour Android, la méthode de stockage des mots de passe locaux qui ne sont pas synchronisés avec d'autres appareils a été modifiée. Auparavant, les mots de passe locaux étaient stockés dans le profil Chrome, et maintenant ils seront transférés vers le gestionnaire de mots de passe fourni par les services Google Play, qui est déjà utilisé pour stocker le mot de passe du compte Google. Dans Chrome 123, le nouveau mode de stockage est activé pour les utilisateurs sans mots de passe locaux, tandis que dans la version Chrome 124, il sera appliqué aux utilisateurs ayant des mots de passe locaux.
- Une API pour le routage statique des Service Workers a été ajoutée, permettant d'exclure l'exécution de JavaScript et l'interception par les Service Workers lors de la demande de ressources répondant à certaines conditions. En d'autres termes, l'API permet de déterminer comment charger certaines ressources et de désactiver l'appel du Service Worker pour les ressources qui peuvent être extraites du cache ou chargées directement. Les modèles d'URL, les méthodes de requête, le type de contenu (document, embed, police, vidéo, etc.) et l'état d'exécution («running», «not-running») peuvent être utilisés comme critères de décision. Par exemple, pour envoyer une requête post avec des données de formulaire Web directement, sans appeler le Service Worker, on peut indiquer : addEventListener('install', (event) => { event.addRoutes({ condition: { urlPattern: '/form/*', requestMethod: 'post' }, source: 'network' }); });
- Une fonction light-dark() a été ajoutée au CSS pour adapter le schéma de couleurs aux paramètres du mode clair ou sombre. Dans la fonction, deux valeurs peuvent être spécifiées, qui seront choisies en fonction du mode clair ou sombre. Par exemple «background-color: light-dark(lime, green);».
- Une API Long Animation Frames a été ajoutée pour diagnostiquer la réactivité de l'interface du site et identifier les goulets d'étranglement lors du rendu.
- Le média-query «display-mode» a ajouté le support de la valeur «picture-in-picture», permettant de créer des règles CSS applicables uniquement lors de l'affichage de l'application Web en mode «image dans l'image». @media all and (display-mode: picture-in-picture) { body { margin: 0; } h1 { font-size: 0.8em; } }
- La propriété CSS «align-content» a permis de travailler avec les conteneurs de blocs et les cellules de tableau. Par exemple, «display: block», «display: list-item», «display: table-cell» peuvent désormais être alignés à l'aide de «align-content».
- La propriété CSS «field-sizing» a été ajoutée, permettant de rendre la taille des éléments de formulaire dépendante de leur contenu, par exemple, pour augmenter automatiquement la taille du champ de texte au fur et à mesure de la saisie de données.
- L'interface NavigationActivation de JavaScript a ajouté le paramètre navigation.activation, qui reflète l'état d'activation du document (par exemple, il est possible de déterminer que le document a été restauré à partir du cache après avoir cliqué sur les boutons de navigation « avant » ou « arrière »). Ce paramètre peut être utilisé pour ajuster le contenu de la page en fonction de l'endroit d'où l'utilisateur est arrivé, par exemple, une animation différente peut être affichée si l'utilisateur arrive depuis la page d'accueil.
- Des améliorations ont été apportées aux outils pour les développeurs web.
En plus des nouvelles fonctionnalités et des corrections de bugs, la nouvelle version corrige 12 vulnérabilités. Beaucoup de ces vulnérabilités ont été détectées grâce à des tests automatisés à l'aide des 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é identifié. Dans le cadre du programme de récompense financière pour la découverte de vulnérabilités pour cette version, Google a attribué 7 récompenses totalisant 22 000 dollars (une récompense de 10 000 $, une de 4 000 $, une de 3 000 $ et une de 1 000 $, ainsi que deux récompenses de 2 000 $). Le montant d'une des récompenses n'est pas encore déterminé.
Source : opennet.ru


