Die Google LLC hat beschlossen, die Unterstützung des XSLT-Programmiersprachen, die zur Transformation von XML-Dokumenten verwendet wird, im Browser-Engine Chromium zu entfernen. Als Grund wird angegeben, dass man die Angriffsfläche verringern möchte, indem die Nutzung der Bibliothek libxslt eingestellt wird. Google ist der Ansicht, dass die Unterstützung von XSLT 1.0 unangemessene Sicherheitsrisiken sorgt, da in der Bibliothek libxslt gelegentlich Schwachstellen entdeckt werden (zum Beispiel CVE-2025-7425 und CVE-2022-22834) und es Probleme mit der Wartung gibt (von Juni bis September blieb die Bibliothek ohne Wartung und Sicherheitsupdates). Auch die Projekte Firefox und WebKit ziehen in Betracht, die Unterstützung von XSLT zu entfernen.
Schwachstellen in XSLT werden zum Werkzeug für Angriffe auf Browser, obwohl die clientseitige Unterstützung von XSLT derzeit nicht nachgefragt wird und sehr selten genutzt wird. Datenumwandlungsaufgaben in HTML können sicherer mit JavaScript-APIs wie DOMParser und Fetch gelöst werden. Laut Google macht der Anteil an geladenen Webseiten, die XSLT verwenden, 0,02 % aus, während der Anteil an Seiten, auf denen XSLT-Verarbeitungsanweisungen angewendet werden, auf 0,001 % geschätzt wird.
Es wurde auch beschlossen, die Bibliothek libxml2 im Chromium nicht mehr zu verwenden, in der ebenfalls regelmäßig Schwachstellen gefunden werden und die Wartungsprobleme aufweist. Die libxml2-Bibliothek wird im Chromium verwendet, um Daten im XML-Format zu parsen, zu serialisieren und zu validieren, während die Klassen XSLTProcessor und die XSLT-Verarbeitungsanweisungen („“) auf libxslt basieren.
Die Unterstützung von libxslt-basierten Funktionen, wie der XSLTProcessor-API und den Anweisungen zum Parsen von XML-Stilvorlagen, wird mit der Veröffentlichung von Chrome 155 zum 17. November 2026 eingestellt. In Chrome 143, das für den 2. Dezember 2025 geplant ist, wird in der Web-Konsole eine Warnung über die zukünftige Abwertung der XSLTProcessor-API eingeblendet. In Chrome 148 (Frühling 2026) wird die Unterstützung von XSLT in den Canary-, Dev- und Beta-Kanälen standardmäßig deaktiviert. Die Funktionalität zum Parsen von XML bleibt bestehen, wird jedoch auf eine neue, in Rust geschriebene Bibliothek umgestellt, die Sicherheitsaspekte berücksichtigt.
Als Ersatz für die im Browser integrierte XSLT-Unterstützung wird vorgeschlagen, die XSLT-Verarbeitung auf die Serverseite zu verlagern Server und den Kunden bereits generierten HTML-Inhalt zu senden. Handler, die die XML-API für die Interaktion zwischen Kunde und Server, es wird vorgeschlagen, das JSON-Format zu verwenden und die Darstellung durch die Umwandlung von JSON in HTML/CSS mit JavaScript zu erstellen. Zu den möglichen Alternativen wird auch die Verwendung der JavaScript-Bibliotheken Saxonica mit der Implementierung von XSLT genannt, einer Polyfill-Schicht zur Gewährleistung der Kompatibilität mit altem Code, die einen WASM-basierten Ersatz für XSLTProcessor bietet, sowie einer Browsererweiterung, die automatisch die Polyfill-Schicht in XML-Dokumente einfügt.
Quelle: opennet.ru
