Retour à l'accueil

Désactivation de XSLT dans Edge : Politique et risques

Microsoft implémente la politique XSLTEnabled dans Edge 147 pour désactiver XSLT obsolète en raison des risques de sécurité. L'article analyse l'usage, la migration vers JS et les plans des autres navigateurs d'ici 2027.

Edge abandonne XSLT : Ce qui attend les développeurs
Advertisement 728x90

Désactivation de XSLT dans Microsoft Edge : Nouvelles politiques et risques de sécurité

Microsoft introduit une politique pour désactiver XSLT dans la version 147 d'Edge, publiée le 9 avril 2026. La fonctionnalité XSLTEnabled permet aux administrateurs de contrôler l'accès à ce langage de transformation XML obsolète, en minimisant les vulnérabilités associées. C'est une étape vers la dépréciation complète, alignée sur les projets de Chromium, WebKit et Gecko.

Qu'est-ce que XSLT et pourquoi est-il obsolète

XSLT (Extensible Stylesheet Language Transformations) est une norme W3C de 1999 pour transformer du XML en HTML ou d'autres formats. Les versions les plus récentes du langage n'ont pas obtenu un soutien étendu des navigateurs. Statistiques d'utilisation : seulement 0,02 % des pages web utilisent XSLT, et les transformations représentent moins de 0,001 %.

Les alternatives modernes offrent une plus grande flexibilité :

Google AdInline article slot
  • Frameworks JavaScript (React, Vue.js) pour le traitement dynamique des données.
  • Web Components et Shadow DOM pour les transformations structurées.
  • Rendu côté serveur avec des moteurs de templating (Handlebars, Pug).

Ces outils s'intègrent avec les API REST/GraphQL, en évitant les parseurs XML côté client.

Politique XSLTEnabled dans Edge v147

La mise à jour de sécurité d'Edge 147 ajoute un ensemble de politiques pour contrôler XSLT :

  • XSLTEnabled : Active ou désactive globalement le processeur XSLT.
  • XSLTBaseURL : URL de base pour les feuilles de style (limité aux scénarios entreprise).
  • XSLTSecurityManager : Gère l'accès aux ressources DOM et réseau.

Les clients entreprise sont invités à tester sa désactivation : évaluer l'impact sur les applications legacy, surveiller les journaux d'erreurs de parsing. Microsoft met en lumière les risques en cybersécurité — libxslt présente une vulnérabilité non corrigée due à un manque d'entretien actif.

Google AdInline article slot

La politique s'applique via le registre Windows (HKLM\SOFTWARE\Policies\Microsoft\Edge\XSLTEnabled) ou Group Policy dans Active Directory. Syntaxe du registre :

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
"XSLTEnabled"=dword:00000000

Après redémarrage d'Edge, les transformations sont bloquées avec NS_ERROR_XSLT_NOT_AVAILABLE.

Calendrier de dépréciation dans les navigateurs

  • Edge (Chromium) : Politique dans v147 (avril 2026), suppression complète suivant Chromium.
  • Chrome : Tests dans 146 (mars 2026), désactivation dans 176 (août 2027).
  • Safari (WebKit) : Prévisions de suppression en 2027, en se concentrant sur SwiftUI pour les tâches similaires au XML.
  • Firefox (Gecko) : Politique similaire en développement, en priorisant WebAssembly pour les transformations.

Les développeurs de Chromium coordonnent la migration : le flag chrome://flags/#enable-xslt est en phase d'élimination.

Google AdInline article slot

Risques de sécurité et migration

Libxslt, la bibliothèque centrale de XSLT, est vulnérable aux attaques XXE (XML External Entity), où des attaquants peuvent extraire des fichiers locaux ou effectuer du SSRF. L'absence de correctifs la rend risquée à utiliser en 2026.

Stratégie de migration pour les développeurs de niveau intermédiaire et senior :

  • Audit de code : grep -r 'xslt\.' ou analyse des traces de pile.
  • Remplacer par XPath + DOMParser en JS.
  • Tests : Puppeteer pour simuler XSLT désactivé.
  • Solution de repli : Détection de fonctionnalité avec Modernizr ou document.implementation.hasFeature('XSLT', '1.0') natif.

Exemple de migration d'un XSLT simple vers JS :

// Legacy XSLT
const xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsltDoc);
const result = xsltProcessor.transformToFragment(xmlDoc, document);

// Modern JS alternative
function transformXML(xmlString, xslString) {
  const xmlDoc = new DOMParser().parseFromString(xmlString, 'text/xml');
  const xslDoc = new DOMParser().parseFromString(xslString, 'text/xml');
  const xsltProcessor = new XSLTProcessor();
  xsltProcessor.importStylesheet(xslDoc);
  return xsltProcessor.transformToDocument(xmlDoc);
}

Points clés

  • La politique XSLTEnabled dans Edge 147 permet une dépréciation contrôlée de XSLT à partir d'avril 2026.
  • Les vulnérabilités de libxslt (XXE, SSRF) rendent la technologie dangereuse sans correctifs.
  • Migrez vers des transformations JS ou du templating côté serveur — standard d'ici 2027.
  • Tous les moteurs (Chromium, WebKit, Gecko) alignent leur dépréciation d'ici 2027.
  • Admins entreprise : Testez via GPO, surveillez les applications XML legacy.

— Editorial Team

Advertisement 728x90

Lire ensuite