Chromium ha decidido eliminar la compatibilidad con XSLT y discontinuar el uso de libxslt y libxml2.

Google ha decidido eliminar los componentes compatibles con el lenguaje de transformación de documentos XML (XSLT) del motor del navegador Chromium. El motivo es el deseo de reducir la superficie de ataque al discontinuar el uso de la biblioteca libxslt. Google considera que la compatibilidad con XSLT 1.0 genera riesgos de seguridad innecesarios, ya que libxslt es vulnerable periódicamente (por ejemplo, CVE-2025-7425 y CVE-2022-22834) y presenta problemas de mantenimiento (de junio a septiembre, la biblioteca no recibió mantenimiento ni parches de seguridad). Los proyectos Firefox y WebKit también están considerando eliminar la compatibilidad con XSLT.

Las vulnerabilidades XSLT se están convirtiendo en una herramienta para atacar navegadores, a pesar de que el soporte XSLT del lado del cliente es actualmente innecesario y se usa muy poco, y las tareas de conversión de datos HTML se pueden realizar de forma más segura mediante API de JavaScript como DOMParser y Fetch. Según las estadísticas de Google, el porcentaje de páginas web cargadas que utilizan XSLT es del 0.02 %, mientras que se estima que el porcentaje de páginas que utilizan instrucciones de procesamiento XSLT es del 0.001 %.

De igual forma, se decidió discontinuar el uso de la biblioteca libxml2 en Chromium, la cual también presenta con frecuencia vulnerabilidades y problemas de mantenimiento. Chromium utiliza libxml2 para analizar, serializar y validar datos XML, y libxslt se utiliza para implementar la clase XSLTProcessor y las instrucciones de procesamiento XSLT (“ »).

El soporte para las funciones basadas en libxslt, como la API XSLTProcessor y las instrucciones de análisis de hojas de estilo XML, quedará obsoleto en Chrome 155, cuyo lanzamiento está previsto para el 17 de noviembre de 2026. En Chrome 143, cuyo lanzamiento está previsto para el 2 de diciembre de 2025, se añadirá una advertencia a la consola web sobre la obsolescencia de la API XSLTProcessor. En Chrome 148 (primavera de 2026), el soporte para XSLT estará deshabilitado de forma predeterminada en las ramas Canary, Dev y Beta. La funcionalidad de análisis XML se mantendrá, pero se migrará a una nueva biblioteca escrita en Rust con especial atención a la seguridad.

Como alternativa a la compatibilidad integrada con XSLT en los navegadores, se propone trasladar el procesamiento de XSLT al servidor y enviar contenido HTML preformateado a los clientes. Se propone reemplazar los controladores que utilizan la API XML para la interacción cliente-servidor con el formato JSON y su renderizado mediante la conversión de JSON a HTML/CSS con JavaScript. Otras alternativas posibles incluyen la biblioteca JavaScript de Saxonica con una implementación de XSLT, un polyfill para la compatibilidad con código heredado que ofrece un reemplazo basado en WASM para XSLTProcessor, y un complemento para el navegador que inserta automáticamente el polyfill en los documentos XML.

Fuente: opennet.ru

Añadir un comentario