Chrome Version 104

Google a dévoilé la sortie du navigateur Web Chrome 104. Parallèlement, une version stable du projet gratuit Chromium, qui sert de base à Chrome, est disponible. Le navigateur Chrome se distingue de Chromium par l'utilisation des logos Google, la présence d'un système d'envoi de notifications en cas de crash, de modules de lecture de contenu vidéo protégé contre la copie (DRM), d'un système d'installation automatique des mises à jour, permettant en permanence l'isolation Sandbox , fournissant les clés de l'API Google et transmettant les paramètres RLZ- lors de la recherche. Pour ceux qui ont besoin de plus de temps pour mettre à jour, la branche Extended Stable est prise en charge séparément, suivie de 8 semaines. La prochaine version de Chrome 105 est prévue pour le 30 août.

Changements clés dans Chrome 104 :

  • Une limite de durée de vie des cookies a été introduite : tous les cookies nouveaux ou mis à jour seront automatiquement supprimés après 400 jours d'existence, même si le délai d'expiration défini via les attributs « Expire » et « Âge maximal » dépasse 400 jours (pour ces cookies, la durée de vie sera réduite à 400 jours). Les cookies créés avant l'introduction de cette limitation conserveront leur durée de vie, même si elle dépasse 400 jours, mais seront limités en cas de mise à jour. Cette modification reflète les nouvelles exigences mentionnées dans le projet de spécification.
  • Le blocage des requêtes iframe vers les URL qui font référence au système de fichiers local (« filesystem:// ») est activé.
  • Pour accélérer le chargement des pages, une nouvelle optimisation a été ajoutée qui garantit qu'une connexion à l'hôte cible est établie au moment où un lien est cliqué, sans attendre que le bouton soit relâché ou que le doigt soit retiré de l'écran tactile.
  • Ajout de paramètres pour gérer l'API « Sujets et groupes d'intérêt », promue par l'initiative Privacy Sandbox, qui permet de définir des catégories d'intérêts pour les utilisateurs et de les utiliser à la place des cookies de suivi pour identifier des groupes d'utilisateurs partageant des intérêts similaires sans identifier les utilisateurs individuels. De plus, des boîtes de dialogue d'information ponctuelles ont été ajoutées pour expliquer la technologie à l'utilisateur et lui proposer d'activer sa prise en charge dans les paramètres.
  • Les seuils de limitation des appels imbriqués aux temporisateurs setTimeout et setInterval lancés avec un intervalle inférieur à 4 ms (« setTimeout(…, <4ms) ») ont été relevés. La limite totale de ces appels est passée de 5 à 100, ce qui permet de ne pas couper les appels individuellement de manière excessive, tout en prévenant les abus susceptibles d'affecter les performances du navigateur.
  • Activation de l'envoi d'une requête de confirmation d'autorisation CORS (Cross-Origin Resource Sharing) au serveur du site principal avec l'en-tête « Access-Control-Request-Private-Network: true » lorsqu'une page accède à une sous-ressource sur le réseau interne (192.168.xx, 10.xxx, 172.16-31.xx) ou localhost (127.xxx). Lors de la confirmation de l'opération, le serveur doit renvoyer l'en-tête « Access-Control-Allow-Private-Network: true » en réponse à cette requête. Dans Chrome 104, le résultat de la confirmation n'affecte pas encore le traitement de la requête : si aucune confirmation n'est fournie, un avertissement s'affiche dans la console web, mais la requête de la sous-ressource n'est pas bloquée. Activation du blocage en l'absence de confirmation. serveur Cette fonctionnalité n'est pas prévue avant Chrome 107. Pour activer le blocage dans les versions antérieures, vous pouvez activer le paramètre « chrome://flags/#private-network-access-respect-preflight-results ».

    Confirmation d'autorité serveur Cette fonctionnalité a été introduite pour renforcer la protection contre les attaques qui accèdent aux ressources du réseau local ou de l'ordinateur de l'utilisateur (localhost) depuis des scripts chargés lors de l'ouverture d'un site web. Ces requêtes sont utilisées par les attaquants pour mener des attaques CSRF sur les routeurs, les points d'accès, les imprimantes, les interfaces web d'entreprise et autres périphériques et services qui n'acceptent que les requêtes provenant du réseau local. Pour se prémunir contre ces attaques, lors de l'accès à des ressources internes, le navigateur enverra une demande d'autorisation explicite pour charger ces ressources.

  • Le mécanisme de capture de région a été ajouté, permettant de supprimer le contenu inutile d'une vidéo générée à partir d'une capture d'écran. Par exemple, grâce à l'API getDisplayMedia, une application web peut organiser la diffusion d'une vidéo avec le contenu d'un onglet, et la capture de région permet de supprimer une partie du contenu, y compris les commandes de visioconférence.
  • Prise en charge de la nouvelle syntaxe des requêtes multimédias définie dans la spécification Media Queries niveau 4, qui définit les tailles minimale et maximale de la zone visible (fenêtre d'affichage). Cette nouvelle syntaxe permet d'utiliser des opérateurs de comparaison mathématiques classiques et des opérateurs logiques tels que « not », « or » et « and ». Par exemple, au lieu de « @media (min-width: 400px) { ... } », vous pouvez désormais spécifier « @media (width >= 400px) { ... } ».
  • Plusieurs nouvelles API ont été ajoutées au mode Origin Trials (fonctionnalités expérimentales nécessitant une activation séparée). Origin Trial implique la possibilité de travailler avec l'API spécifiée à partir d'applications téléchargées depuis localhost ou 127.0.0.1, ou après s'être enregistré et avoir reçu un jeton spécial valable pour une durée limitée pour un site spécifique.
    • Ajout de la propriété CSS « ​​focusgroup » pour améliorer la navigation entre les éléments à l'aide des touches fléchées du clavier.
    • L'API de confirmation de paiement sécurisé permet à l'utilisateur de désactiver l'enregistrement des paramètres de carte de crédit. Pour afficher une boîte de dialogue permettant à l'utilisateur de refuser l'enregistrement des paramètres de carte de crédit, le constructeur PaymentRequest() utilise l'indicateur « showOptOut: true ».
    • Ajout de l'API de transitions d'éléments partagés, qui permet des transitions fluides entre différentes vues de contenu dans les applications Web à page unique.
  • Prise en charge stabilisée des règles de spéculation, qui permettent aux auteurs de sites de transmettre au navigateur des informations sur les pages les plus susceptibles d'être consultées par un utilisateur. Le navigateur utilise ces informations pour charger et afficher le contenu des pages de manière préventive.
  • Le mécanisme de regroupement des sous-ressources dans des packages au format Web Bundle a été stabilisé, permettant un chargement plus efficace d'un grand nombre de fichiers d'accompagnement (styles CSS, JavaScript, images, iframe). Contrairement aux packages au format Webpack, le format Web Bundle présente les avantages suivants : ce ne sont pas les packages eux-mêmes qui sont stockés dans le cache HTTP, mais leurs composants ; la compilation et l'exécution de JavaScript commencent sans attendre le chargement complet du package ; l'inclusion de ressources supplémentaires, telles que des CSS et des images, qui auraient dû être codées sous forme de chaînes JavaScript dans webpack, est autorisée.
  • Ajout de la propriété CSS object-view-box, qui vous permet de définir une partie de l'image qui sera affichée dans la zone à la place de l'élément spécifié, qui peut être utilisée, par exemple, pour ajouter une bordure ou une ombre.
  • Ajout de l'API de délégation de capacité plein écran, qui permet à un objet Window de déléguer à un autre objet Window le droit d'appeler requestFullscreen().
  • Ajout de l'API Fullscreen Companion Window pour permettre au contenu plein écran et aux fenêtres contextuelles d'être placés sur un autre écran après avoir reçu la confirmation de l'utilisateur.
  • L'attribut visual-box a été ajouté à la propriété CSS overflow-clip-margin, qui détermine où commencer à découper le contenu qui s'étend au-delà de la bordure de la zone (peut prendre les valeurs content-box, padding-box et border-box).
  • L'API Async Clipboard a été mise à jour pour prendre en charge la définition de formats personnalisés pour les données du presse-papiers autres que le texte, les images et le texte de balisage.
  • WebGL prend en charge la spécification de l'espace colorimétrique pour le tampon de rendu et la transformation lors de l'importation à partir d'une texture.
  • La prise en charge des plates-formes OS X 10.11 et macOS 10.12 a été interrompue.
  • L'API U2F (Cryptotoken), précédemment obsolète et désactivée par défaut, a été abandonnée. Elle a été remplacée par l'API d'authentification Web.
  • Des améliorations ont été apportées aux outils de développement web. Le débogueur permet désormais de redémarrer le code depuis le début d'une fonction après le déclenchement d'un point d'arrêt dans le corps de la fonction. Le développement de modules complémentaires pour le panneau Enregistreur a été ajouté. Le panneau d'analyse des performances prend désormais en charge la visualisation des étiquettes définies dans l'application web en appelant la méthode performance.measure(). Des recommandations améliorées ont été apportées pour la saisie semi-automatique des propriétés des objets JavaScript. Lors de la saisie semi-automatique des variables CSS, un aperçu des valeurs non liées aux couleurs est fourni.
     Chrome Version 104

Outre les innovations et les corrections de bugs, la nouvelle version corrige 27 vulnérabilités. Nombre d'entre elles ont été identifiées 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 dans le système en dehors de l'environnement sandbox n'a été identifié. Dans le cadre du programme de récompenses financières pour la découverte de vulnérabilités pour la version actuelle, Google a versé 22 récompenses pour un total de 84 15000 $ (une récompense de 10000 8000 $, une récompense de 7000 5000 $, une récompense de 4000 3000 $, une récompense de 2000 1000 $, quatre récompenses de XNUMX XNUMX $, une récompense de XNUMX XNUMX $, trois récompenses de XNUMX XNUMX $, quatre récompenses de XNUMX XNUMX $ et trois récompenses de XNUMX XNUMX $). Le montant de chaque récompense n'a pas encore été déterminé.

Source: opennet.ru