Google ha deciso di rimuovere i componenti che supportano il linguaggio di trasformazione dei documenti XML (XSLT) dal motore del browser Chromium. La motivazione addotta è il desiderio di ridurre la superficie di attacco interrompendo l'utilizzo della libreria libxslt. Google ritiene che il supporto per XSLT 1.0 crei inutili rischi per la sicurezza, poiché libxslt è periodicamente vulnerabile (ad esempio, CVE-2025-7425 e CVE-2022-22834) e presenta problemi di manutenzione (da giugno a settembre, la libreria non è stata mantenuta e non è stata aggiornata con patch di vulnerabilità). Anche i progetti Firefox e WebKit stanno valutando la rimozione del supporto XSLT.
Le vulnerabilità XSLT stanno diventando uno strumento di attacco ai browser, nonostante il supporto XSLT lato client sia attualmente superfluo e raramente utilizzato, e le attività di conversione dei dati HTML possano essere eseguite 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'utilizzo della libreria libxml2 in Chromium, che presenta anch'essa regolarmente vulnerabilità e problemi di manutenzione. Chromium utilizza libxml2 per analizzare, serializzare e convalidare i dati XML, mentre libxslt viene utilizzata per implementare la classe XSLTProcessor e le istruzioni di elaborazione XSLT (" »).
Il supporto per le funzionalità basate su libxslt, come l'API XSLTProcessor e le istruzioni di analisi dei fogli di stile XML, sarà deprecato in Chrome 155, il cui rilascio è previsto per il 17 novembre 2026. In Chrome 143, il cui rilascio è previsto per il 2 dicembre 2025, verrà aggiunto un avviso alla console web relativo alla deprecazione dell'API XSLTProcessor. In Chrome 148 (primavera 2026), il supporto XSLT sarà disabilitato per impostazione predefinita nei rami Canary, Dev e Beta. La funzionalità di analisi XML rimarrà, ma verrà migrata a una nuova libreria scritta in Rust con particolare attenzione alla sicurezza.
In sostituzione del supporto XSLT integrato nel browser, si propone di spostare l'elaborazione XSLT a una terza parte server e inviano contenuti HTML preformattati ai client. Gestori che utilizzano l'API XML per l'interazione tra il client e server, si propone di sostituirlo con l'uso del formato JSON e il rendering tramite conversione di JSON in HTML/CSS tramite JavaScript. Altre possibili alternative includono la libreria JavaScript Saxonica con la sua implementazione XSLT, un livello polyfill per garantire la compatibilità con il codice legacy, che offre una sostituzione basata su WASM per XSLTProcessor, e un componente aggiuntivo del browser che inserisce automaticamente il polyfill nei documenti XML.
Fonte: opennet.ru
