Google a décidé de supprimer les composants prenant en charge le langage de transformation de documents XML (XSLT) du moteur de navigateur Chromium. La raison invoquée est la volonté de réduire la surface d'attaque en abandonnant l'utilisation de la bibliothèque libxslt. Google estime que la prise en charge de XSLT 1.0 engendre des risques de sécurité inutiles, car libxslt présente des vulnérabilités récurrentes (par exemple, CVE-2025-7425 et CVE-2022-22834) et souffre de problèmes de maintenance (de juin à septembre, la bibliothèque n'était plus maintenue et aucun correctif de vulnérabilité n'y était appliqué). Les projets Firefox et WebKit envisagent également de supprimer la prise en charge de XSLT.
Les vulnérabilités XSLT sont de plus en plus utilisées pour attaquer les navigateurs, bien que la prise en charge XSLT côté client soit actuellement inutile et rarement employée, et que les conversions de données HTML puissent être effectuées de manière plus sécurisée grâce à des API JavaScript telles que DOMParser et Fetch. Selon les statistiques de Google, seulement 0.02 % des pages web chargées utilisent XSLT, tandis que la part des pages utilisant des instructions de traitement XSLT est estimée à 0.001 %.
De même, il a été décidé d'abandonner l'utilisation de la bibliothèque libxml2 dans Chromium, qui présente régulièrement des vulnérabilités et des problèmes de maintenance. Chromium utilise libxml2 pour analyser, sérialiser et valider les données XML, et libxslt est utilisé pour implémenter la classe XSLTProcessor et les instructions de traitement XSLT. »).
La prise en charge des fonctionnalités basées sur libxslt, telles que l'API XSLTProcessor et les instructions d'analyse des feuilles de style XML, sera obsolète dans Chrome 155, prévu pour le 17 novembre 2026. Dans Chrome 143, prévu pour le 2 décembre 2025, un avertissement concernant l'obsolescence de l'API XSLTProcessor sera ajouté à la console web. Dans Chrome 148 (printemps 2026), la prise en charge de XSLT sera désactivée par défaut dans les branches Canary, Dev et Beta. La fonctionnalité d'analyse XML sera conservée, mais migrée vers une nouvelle bibliothèque écrite en Rust, avec une priorité donnée à la sécurité.
En remplacement de la prise en charge XSLT intégrée aux navigateurs, il est proposé de déplacer le traitement XSLT côté serveur et d'envoyer du contenu HTML préformaté aux clients. Les gestionnaires utilisant l'API XML pour l'interaction client-serveur seraient remplacés par le format JSON, le rendu étant effectué par conversion de JSON en HTML/CSS via JavaScript. Parmi les alternatives potentielles figurent la bibliothèque JavaScript Saxonica avec une implémentation XSLT, un polyfill pour la compatibilité avec le code existant offrant une alternative WASM à XSLTProcessor, et une extension de navigateur insérant automatiquement le polyfill dans les documents XML.
Source: opennet.ru
