La version du navigateur web Firefox 95 a été publiée. De plus, une mise à jour de la branche avec un support à long terme — 91.4.0 — a été mise en place. La branche Firefox 96 passera en phase de tests bêta dans les prochains jours, avec un lancement prévu le 11 janvier.
Les principales nouveautés :
- Un niveau supplémentaire d'isolement, basé sur la technologie RLBox, a été implémenté pour toutes les plateformes prises en charge. Ce niveau d'isolement proposé bloque les problèmes de sécurité dans les bibliothèques fonctionnelles tierces, qui échappent au contrôle des développeurs de Firefox, mais pourraient compromettre le projet principal en cas de vulnérabilités. Dans cette version, RLBox est utilisé pour isoler les bibliothèques Graphite, Hunspell et Ogg, tandis que la prochaine version devrait inclure l'isolement d'Expat et Woff2.
Le mécanisme de travail de RLBox consiste à compiler le code C/C++ de la bibliothèque à isoler en un code intermédiaire peu élevé en WebAssembly, qui est ensuite formé en tant que module WebAssembly, dont les permissions sont limitées uniquement à ce module (par exemple, une bibliothèque de traitement de chaînes ne pourra pas ouvrir de socket réseau ou de fichier). Pour une exécution immédiate, le module WebAssembly est compilé en code machine grâce au compilateur wasm2c et est exécuté dans une zone de mémoire distincte, sans accès à l'autre espace d'adresses.

- Le mode strict d'isolement des sites, développé dans le cadre du projet Fission, est activé pour tous les utilisateurs. Contrairement à la répartition aléatoire de l'exécution des onglets à partir du pool de processus disponibles (par défaut 8), le mode strict d'isolement traite chaque site dans son propre processus, en séparant non pas par onglets, mais par domaines (Public Suffix).
Le mode d'isolement strict offre une protection plus fiable contre les attaques de type Spectre, réduit la fragmentation de la mémoire, permet d'isoler davantage le contenu des scripts externes et des blocs iframe, restitue plus efficacement la mémoire au système d'exploitation, minimise l'impact du ramassage de déchets et des calculs intensifs sur les pages dans d'autres processus, augmente l'efficacité de la répartition de la charge entre les différents cœurs du CPU et améliore la stabilité (l'écrasement du processus traitant l'iframe n'affectera pas le site principal ni les autres onglets). Le coût est une augmentation globale de la consommation de mémoire lors de l'ouverture d'un grand nombre de sites.
- Les travaux se poursuivent pour améliorer le support du protocole Wayland. Le port de Firefox pour Wayland a atteint un parité fonctionnelle avec la version pour X11 en fonctionnement dans l'environnement GNOME de Fedora.
- Un nouvel élément a été ajouté au menu contextuel du mode « image dans l'image » (Picture-in-Picture) pour déplacer le bouton de basculement du mode d'affichage de l'autre côté de la vidéo.

- La technologie de compilation proactive du code JavaScript a été mise en œuvre, ce qui a permis d'améliorer les performances de chargement des pages. Des optimisations ont été apportées au système de gestion de la mémoire.
- La redéfinition de la valeur de l'User Agent pour le site Slack.com a été incluse, permettant d'accéder à des fonctionnalités supplémentaires de Slack, telles que les appels vocaux/vidéo et les conférences (huddles), qui n'étaient pas disponibles lors de l'ouverture du site dans Firefox.
- Le support de l'attribut global inputmode a été mis en œuvre sur toutes les plateformes, utilisé pour spécifier des informations sur les types de données pouvant être saisies lors de la modification de l'élément. Les informations spécifiées sont utilisées pour sélectionner le clavier à l'écran le plus approprié pour l'édition de l'élément actuel sur les appareils à écran tactile. Auparavant, le support d'inputmode était limité à la plateforme Android.
- La fonction Crypto.randomUUID() a été ajoutée, fournissant un UUID de 36 caractères cryptographiquement sécurisé.
- Dans les builds pour la plateforme macOS, la charge sur le CPU lors du traitement des événements a été réduite, le démarrage des processus de traitement de contenu a été accéléré et la consommation d'énergie a été diminuée lors du décodage vidéo programmatique, y compris lors de la lecture de vidéos sur les sites Netflix et Amazon Prime Video.
- Pour les plateformes Windows 10 et Windows 11, il est désormais possible d'installer Firefox depuis le Microsoft Store.
- Dans la version pour la plateforme Android, un nouveau menu de paramètres a été ajouté avec une section Accueil. Sur la page «Retour en arrière» («Jump back in»), les images principales des sites (Hero Image) sont affichées. Une demande de confirmation a été mise en place lors de l'activation du mode de fermeture automatique des onglets.
- La version pour la plateforme Android prend désormais en charge la propriété CSS cursor, permettant de marquer visuellement les éléments cliquables, ce qui peut faciliter l'utilisation pour les utilisateurs d'Android utilisant un dispositif de pointage «souris» (l'image du curseur changera lors du survol de tels éléments).
En plus des nouveautés et des corrections de bugs, Firefox 95 corrige 18 vulnérabilités, dont 11 classées comme critiques. 8 vulnérabilités sont liées à des problèmes de gestion de la mémoire, tels que des débordements de tampon et des accès à des zones de mémoire déjà libérées. Ces problèmes pourraient permettre l'exécution de code malveillant lors de l'ouverture de pages spécifiquement conçues.
Source : opennet.ru


