Powrót do strony głównej

Wyłączenie XSLT w Edge: polityka i ryzyka

Microsoft wprowadza politykę XSLTEnabled w Edge 147 do wyłączenia przestarzałego XSLT z powodu ryzyk security. Artykuł omawia użycie, migrację na JS i plany innych przeglądarek do 2027 roku.

Edge rezygnuje z XSLT: co czeka deweloperów
Advertisement 728x90

# Wyłączenie XSLT w Microsoft Edge: nowe polityki i ryzyka bezpieczeństwa

Microsoft wprowadza politykę wyłączania XSLT w Edge w wersji 147, opublikowanej 9 kwietnia 2026 roku. Funkcja XSLTEnabled pozwala administratorom zarządzać dostępnością przestarzałego języka transformacji XML, minimalizując związane z nim luki bezpieczeństwa. To krok w kierunku całkowitego porzucenia, analogiczny do planów Chromium, WebKit i Gecko.

Co to jest XSLT i dlaczego jest przestarzały

XSLT (Extensible Stylesheet Language Transformations) — standard W3C z 1999 roku do transformacji XML w HTML lub inne formaty. Nowsze wersje języka nie zyskały szerokiego wsparcia w przeglądarkach. Statystyki użycia: zaledwie 0,02% stron internetowych wykorzystuje XSLT, a transformacje — mniej niż 0,001%.

Współczesne alternatywy oferują większą elastyczność:

Google AdInline article slot
  • Frameworki JavaScript (React, Vue.js) do dynamicznego przetwarzania danych.
  • Web Components i Shadow DOM do strukturalnych transformacji.
  • Server-side rendering z silnikami szablonów (Handlebars, Pug).

Te narzędzia integrują się z interfejsami REST/GraphQL API, unikając parserów XML po stronie klienta.

Polityka XSLTEnabled w Edge v147

W aktualizacji bezpieczeństwa Edge 147 dodano grupę polityk do kontroli XSLT:

  • XSLTEnabled: globalne włączanie/wyłączanie procesora XSLT.
  • XSLTBaseURL: bazowy URL dla stylów (ograniczony do scenariuszy korporacyjnych).
  • XSLTSecurityManager: zarządzanie dostępem do DOM i zasobów sieciowych.

Korporacyjnym klientom zaleca się przetestowanie wyłączenia: ocenić wpływ na aplikacje legacy, monitorować logi błędów parsowania. Microsoft podkreśla ryzyka cyberbezpieczeństwa — libxslt zawiera niezałatane luki z powodu braku aktywnego utrzymania.

Google AdInline article slot

Polityka jest wdrażana poprzez rejestr Windows (HKLM\SOFTWARE\Policies\Microsoft\Edge\XSLTEnabled) lub polityki grupowe w Active Directory. Składnia dla rejestru:

Windows Registry Editor Version 5.00

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

Po ponownym uruchomieniu Edge transformacje są blokowane z błędem NS_ERROR_XSLT_NOT_AVAILABLE.

Chronologia wyłączeń w przeglądarkach

  • Edge (Chromium): polityka w v147 (kwiecień 2026), całkowite usunięcie — tuż za Chromium.
  • Chrome: testowanie w 146 (marzec 2026), wyłączenie w 176 (sierpień 2027).
  • Safari (WebKit): plany wyłączenia w 2027, fokus na SwiftUI dla zadań XML-podobnych.
  • Firefox (Gecko): analogiczna polityka w opracowaniu, priorytet WebAssembly dla transformacji.

Deweloperzy Chromium koordynują migrację: flaga chrome://flags/#enable-xslt jest usuwana etapami.

Google AdInline article slot

Ryzyka bezpieczeństwa i migracja

Libxslt, podstawowa biblioteka XSLT, jest podatna na ataki typu XXE (XML External Entity), w których atakujący może odczytywać lokalne pliki lub przeprowadzać SSRF. Brak patchy czyni użycie ryzykownym w 2026 roku.

Strategia migracji dla deweloperów middle/senior:

  • Audyt kodu: grep -r 'xslt\.' lub analiza śladów stosu.
  • Zamiana na XPath + DOMParser w JS.
  • Testowanie: Puppeteer do symulacji wyłączonego XSLT.
  • Fallback: detekcja funkcji z Modernizr lub natywnym document.implementation.hasFeature('XSLT', '1.0').

Przykład migracji prostego XSLT na 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);
}

Co ważne

  • Polityka XSLTEnabled w Edge 147 pozwala na kontrolowane wyłączenie XSLT od kwietnia 2026.
  • Luki libxslt (XXE, SSRF) czynią technologię niebezpieczną bez patchy.
  • Migracja na transformacje JS lub szablony serwerowe — standard na 2027 rok.
  • Wszystkie silniki (Chromium, WebKit, Gecko) synchronizują wyłączenie do 2027.
  • Korporacyjnym administratorom: testujcie przez GPO, monitorujcie aplikacje legacy XML.

— Editorial Team

Advertisement 728x90

Czytaj dalej