La société Google a décidé de supprimer du moteur de navigation Chromium les composants pour le support du langage de transformation de documents XML XSLT. La raison invoquée est le souhait de réduire la surface d'attaque en abandonnant l'utilisation de la bibliothèque libxslt. Selon Google, le support de XSLT 1.0 crée des risques de sécurité injustifiés, car des vulnérabilités (comme CVE-2025-7425 et CVE-2022-22834) sont régulièrement détectées dans la bibliothèque libxslt, qui a également des problèmes de maintenance (de juin à septembre, la bibliothèque est restée sans support ni correction des vulnérabilités). Les projets Firefox et WebKit envisagent également de supprimer le support de XSLT.
Les vulnérabilités dans XSLT deviennent un outil pour mener des attaques sur les navigateurs, alors que le support client de XSLT est actuellement peu demandé et utilisé très rarement, et que les tâches de transformation de données en HTML peuvent être réalisées de manière plus sécurisée grâce à des API JavaScript, comme DOMParser et Fetch. Selon les statistiques de Google, la part des pages Web chargées utilisant XSLT est de 0,02 %, tandis que la part des pages sur lesquelles des instructions de traitement XSLT sont appliquées est estimée à 0,001 %.
Il a également été décidé de cesser d'utiliser dans Chromium la bibliothèque libxml2, qui présente également régulièrement des vulnérabilités et possède des problèmes de maintenance. La bibliothèque libxml2 est utilisée dans Chromium pour l'analyse, la sérialisation et la validation de données au format XML, tandis que la classe XSLTProcessor et les instructions de traitement XSLT (« ») sont basées sur libxslt.
Le support des fonctionnalités basées sur libxslt, comme l'API XSLTProcessor et les instructions d'analyse des feuilles de style XML, sera interrompu dans la version Chrome 155, prévue pour le 17 novembre 2026. Dans Chrome 143, prévu pour le 2 décembre 2025, un avertissement sera ajouté dans la console Web concernant la mise de l'API XSLTProcessor en mode obsolète. Dans Chrome 148 (au printemps 2026), le support de XSLT sera désactivé par défaut dans les branches Canary, Dev et Beta. La fonctionnalité d'analyse XML sera conservée, mais transférée vers une nouvelle bibliothèque écrite en Rust, avec un accent sur la sécurité.
En tant que remplacement du support XSLT intégré au navigateur, il est proposé de transférer le traitement XSLT côté de serveurs et d'envoyer aux clients le contenu HTML déjà formé. Les gestionnaires utilisant l'API XML pour l'interaction entre le client et serveur, il est proposé de remplacer par l'utilisation du format JSON et le rendu via la transformation de JSON en HTML/CSS à l'aide de JavaScript. Parmi les alternatives possibles, on note également l'utilisation de bibliothèques JavaScript comme Saxonica pour l'implémentation de XSLT, ainsi qu'une couche polyfill pour assurer la compatibilité avec l'ancien code, proposant de remplacer XSLTProcessor basé sur WASM, et une extension de navigateur qui insère automatiquement la couche polyfill dans les documents XML.
Source : opennet.ru
