Google ha deciso di rimuovere dal motore di rendering del browser Chromium i componenti per il supporto del linguaggio per la trasformazione dei documenti XML XSLT. La ragione citata è il desiderio di ridurre la superficie di attacco attraverso l'interruzione dell'uso della libreria libxslt. Secondo Google, il supporto per XSLT 1.0 presenta rischi di sicurezza ingiustificati poiché nella libreria libxslt vengono periodicamente individuate vulnerabilità (ad esempio, CVE-2025-7425 e CVE-2022-22834) e presenta problemi di manutenzione (da giugno a settembre la libreria è rimasta senza supporto e correzioni delle vulnerabilità). Anche i progetti Firefox e WebKit stanno considerando la possibilità di rimuovere il supporto per XSLT.
Le vulnerabilità in XSLT diventano uno strumento per effettuare attacchi ai browser, mentre attualmente il supporto client per XSLT è scarsamente richiesto e utilizzato raramente, e le esigenze di trasformazione dei dati in HTML possono essere soddisfatte in modo più sicuro utilizzando API JavaScript, come DOMParser e Fetch. Secondo le statistiche di Google, la quota di pagine web caricate che utilizzano XSLT è dello 0,02%, mentre la quota di pagine che utilizzano istruzioni di elaborazione XSLT è stimata allo 0,001%.
Analogamente, è stato deciso di interrompere l'uso della libreria libxml2 in Chromium, che presenta anch'essa regolarmente vulnerabilità e problemi di manutenzione. La libreria libxml2 viene utilizzata in Chromium per l'analisi, la serializzazione e la convalida dei dati in formato XML, mentre la classe XSLTProcessor e le istruzioni di elaborazione XSLT («») sono basate su libxslt.
Il supporto delle funzionalità basate su libxslt, come l'API XSLTProcessor e le istruzioni per l'analisi delle tabelle di stile XML, sarà interrotto nella versione di Chrome 155, prevista per il 17 novembre 2026. Nella versione di Chrome 143, pianificata per il 2 dicembre 2025, sarà aggiunta nella console web un'avvertenza riguardante il deprezzamento dell'API XSLTProcessor. Nella versione di Chrome 148 (primavera 2026), il supporto per XSLT sarà disattivato per impostazione predefinita nei rami Canary, Dev e Beta. La funzionalità per l'analisi di XML sarà mantenuta, ma trasferita a una nuova libreria scritta in Rust con un occhio alla sicurezza.
Come sostituto del supporto XSLT integrato nel browser, si propone di trasferire l'elaborazione XSLT sul lato server e inviare ai client contenuti HTML già formattati. I gestori che utilizzano l'API XML per l'interazione tra client e server, si propone di sostituire l'uso del formato JSON e il rendering tramite la conversione di JSON in HTML/CSS utilizzando JavaScript. Tra le possibili alternative viene anche segnalato l'uso delle librerie JavaScript Saxonica con implementazione di XSLT, un layer polyfill per garantire la compatibilità con il codice obsoleto, che offre la sostituzione di XSLTProcessor basato su WASM, e un'estensione del browser che inserisce automaticamente il layer polyfill nei documenti XML.
Fonte: opennet.ru
