Google ha deciso di rimuovere dal motore del browser Chromium i componenti per il supporto del linguaggio di trasformazione dei documenti XML XSLT. Il motivo addotto è la volontà di ridurre la superficie di attacco attraverso l'abbandono della libreria libxslt. Secondo Google, il supporto per XSLT 1.0 presenta rischi di sicurezza ingiustificati poiché nella libreria libxslt vengono di tanto in tanto scoperte vulnerabilità (ad esempio, CVE-2025-7425 e CVE-2022-22834) ed essa ha problemi di manutenzione (da giugno a settembre la libreria è rimasta senza supporto e senza correzione delle vulnerabilità). Anche i progetti Firefox e WebKit stanno considerando la possibilità di rimuovere il supporto per XSLT.
Le vulnerabilità in XSLT stanno diventando uno strumento per eseguire attacchi ai browser, considerando che attualmente il supporto client per XSLT è poco richiesto e utilizzato raramente. Le operazioni di trasformazione dei dati in HTML possono essere svolte in modo più sicuro utilizzando API JavaScript, come DOMParser e Fetch. Secondo le statistiche di Google, la percentuale di pagine web caricate che utilizzano XSLT è dello 0,02%, mentre quella delle pagine che applicano istruzioni di elaborazione XSLT è stimata allo 0,001%.
In modo simile, è stato deciso di cessare l'uso della libreria libxml2 in Chromium, in cui vengono regolarmente trovate vulnerabilità e ci sono problemi di manutenzione. La libreria libxml2 è utilizzata in Chromium per l'analisi, la serializzazione e la verifica dei dati in formato XML, mentre il class XSLTProcessor e le istruzioni di elaborazione XSLT («») sono basati su libxslt.
Il supporto per le funzionalità basate su libxslt, come l'API XSLTProcessor e le istruzioni per l'analisi delle tabelle di stile XML, sarà interrotto nella release di Chrome 155, prevista per il 17 novembre 2026. Nella versione Chrome 143, pianificata per il 2 dicembre 2025, verrà aggiunto un avviso nella console web riguardo alla deprecazione dell'API XSLTProcessor. Nella versione Chrome 148 (primavera 2026), il supporto per XSLT sarà disattivato per impostazione predefinita nelle versioni Canary, Dev e Beta. La funzionalità per l'analisi di XML sarà mantenuta, ma sarà trasferita su una nuova libreria scritta in Rust, tenendo conto della sicurezza.
Come sostituzione del supporto XSLT integrato nel browser, si propone di spostare l'elaborazione XSLT sul lato server e inviare ai clienti contenuti HTML già formati. 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 inoltre segnalato l'uso di librerie JavaScript Saxonica con implementazione di XSLT, uno strato polyfill per garantire la compatibilità con il vecchio codice, che offre una sostituzione di XSLTProcessor basata su WASM, e un'estensione del browser che inserisce automaticamente lo strato polyfill nei documenti XML.
Fonte: opennet.ru
