W Chromium zdecydowano się na usunięcie wsparcia dla XSLT oraz zaprzestanie używania libxslt i libxml2

Firma Google zdecydowała się usunąć z silnika przeglądarki Chromium komponenty do obsługi języka przetwarzania dokumentów XML XSLT. Powodem jest chęć zmniejszenia powierzchni ataku poprzez zaprzestanie korzystania z biblioteki libxslt. Zdaniem Google, wsparcie dla XSLT 1.0 stwarza nieuzasadnione ryzyko bezpieczeństwa, ponieważ w bibliotece libxslt okresowo wykrywane są podatności (na przykład CVE-2025-7425 i CVE-2022-22834) i ma ona problemy z utrzymaniem (od czerwca do września biblioteka pozostawała bez wsparcia i poprawy podatności). Projekty Firefox i WebKit również rozważają możliwość usunięcia wsparcia dla XSLT.

Luki w zabezpieczeniach XSLT stają się narzędziem do ataków na przeglądarki, podczas gdy obecnie kliencka obsługa XSLT jest niepotrzebna i rzadko stosowana, a zadania przetwarzania danych do HTML mogą być realizowane znacznie bezpieczniej za pomocą API JavaScript, takich jak DOMParser i Fetch. Według statystyk Google, udział załadowanych stron internetowych, na których wykorzystuje się XSLT, wynosi 0,02%, a udział stron, na których stosowane są instrukcje przetwarzania XSLT, oszacowano na 0,001%.

Podobnie zdecydowano o zaprzestaniu korzystania w Chromium z biblioteki libxml2, w której również regularnie odkrywane są podatności i występują problemy z jej utrzymaniem. Biblioteka libxml2 jest używana w Chromium do analizy, serializacji i weryfikacji danych w formacie XML, a na bazie libxslt zrealizowano klasę XSLTProcessor oraz instrukcje przetwarzania XSLT („”).

Wsparcie dla możliwości opartych na libxslt, takich jak API XSLTProcessor oraz instrukcje analizy tabel stylów XML, zostanie zakończone w wydaniu Chrome 155, zaplanowanym na 17 listopada 2026 roku. W Chrome 143, zaplanowanym na 2 grudnia 2025 roku, w konsoli webowej zostanie dodane ostrzeżenie o przestarzałości API XSLTProcessor. W Chrome 148 (wiosna 2026 roku) wsparcie dla XSLT zostanie domyślnie wyłączone w gałęziach Canary, Dev i Beta. Funkcjonalność do analizy XML zostanie zachowana, ale przeniesiona na nową bibliotekę napisaną w języku Rust z myślą o zapewnieniu bezpieczeństwa.

Jako alternatywę dla wbudowanej w przeglądarkę obsługi XSLT proponuje się przeniesienie przetwarzania XSLT na stronę serwera i wysyłanie klientom już przetworzonego HTML-u. Przetworniki, które używają API XML do interakcji między klientem a serwerem, proponuje się zastąpienie go wykorzystaniem formatu JSON i renderowaniem poprzez przekształcanie JSON na HTML/CSS za pomocą JavaScript. Z możliwych alternatyw wyróżnia się także zastosowanie bibliotek JavaScript Saxonica z realizacją XSLT, warstwy polyfill zapewniającej zgodność ze starszym kodem, oferującej zamianę XSLTProcessor na bazie WASM oraz dodatku przeglądarki, który automatycznie wstawia warstwę polyfill do dokumentów XML.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster