Desactivar XSLT en Microsoft Edge: Nuevas políticas y riesgos de seguridad
Microsoft está introduciendo una política para desactivar XSLT en la versión 147 de Edge, lanzada el 9 de abril de 2026. La función XSLTEnabled permite a los administradores controlar el acceso al lenguaje de transformación XML obsoleto, minimizando las vulnerabilidades asociadas. Este es un paso hacia la deprecación completa, en línea con los planes en Chromium, WebKit y Gecko.
¿Qué es XSLT y por qué está obsoleto?
XSLT (Extensible Stylesheet Language Transformations) es un estándar W3C de 1999 para transformar XML en HTML u otros formatos. Las versiones más recientes del lenguaje no han obtenido un soporte amplio en los navegadores. Estadísticas de uso: solo el 0.02% de las páginas web usan XSLT, y las transformaciones representan menos del 0.001%.
Alternativas modernas ofrecen mayor flexibilidad:
- Frameworks de JavaScript (React, Vue.js) para el procesamiento dinámico de datos.
- Web Components y Shadow DOM para transformaciones estructuradas.
- Renderizado del lado del servidor con motores de plantillas (Handlebars, Pug).
Estas herramientas se integran con APIs REST/GraphQL, evitando analizadores XML del lado del cliente.
Política XSLTEnabled en Edge v147
La actualización de seguridad de Edge 147 agrega un grupo de políticas para controlar XSLT:
- XSLTEnabled: Habilita o deshabilita globalmente el procesador XSLT.
- XSLTBaseURL: URL base para hojas de estilo (limitado a escenarios empresariales).
- XSLTSecurityManager: Gestiona el acceso a recursos DOM y de red.
Se recomienda a los clientes empresariales probar su desactivación: evaluar el impacto en aplicaciones heredadas, monitorear registros de errores de análisis. Microsoft destaca riesgos de ciberseguridad: libxslt tiene una vulnerabilidad sin parches debido a la falta de mantenimiento activo.
La política se aplica mediante el registro de Windows (HKLM\SOFTWARE\Policies\Microsoft\Edge\XSLTEnabled) o Política de Grupo en Active Directory. Sintaxis del registro:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
"XSLTEnabled"=dword:00000000
Tras reiniciar Edge, las transformaciones se bloquean con NS_ERROR_XSLT_NOT_AVAILABLE.
Cronograma de deprecación en navegadores
- Edge (Chromium): Política en v147 (abril 2026), eliminación completa siguiendo a Chromium.
- Chrome: Pruebas en 146 (marzo 2026), desactivación en 176 (agosto 2027).
- Safari (WebKit): Planes para eliminarla en 2027, con enfoque en SwiftUI para tareas similares a XML.
- Firefox (Gecko): Política similar en desarrollo, priorizando WebAssembly para transformaciones.
Los desarrolladores de Chromium están coordinando la migración: la bandera chrome://flags/#enable-xslt se está eliminando gradualmente.
Riesgos de seguridad y migración
Libxslt, la biblioteca central de XSLT, es vulnerable a ataques XXE (XML External Entity), donde los atacantes pueden extraer archivos locales o realizar SSRF. La falta de parches la hace riesgosa de usar en 2026.
Estrategia de migración para desarrolladores intermedios/senior:
- Auditoría de código:
grep -r 'xslt\.'o análisis de trazas de pila. - Reemplazar con XPath + DOMParser en JS.
- Pruebas: Puppeteer para simular XSLT desactivado.
- Fallback: Detección de características con Modernizr o nativo
document.implementation.hasFeature('XSLT', '1.0').
Ejemplo de migración de XSLT simple a JS:
// Legacy XSLT
const xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsltDoc);
const result = xsltProcessor.transformToFragment(xmlDoc, document);
// Modern JS alternative
function transformXML(xmlString, xslString) {
const xmlDoc = new DOMParser().parseFromString(xmlString, 'text/xml');
const xslDoc = new DOMParser().parseFromString(xslString, 'text/xml');
const xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslDoc);
return xsltProcessor.transformToDocument(xmlDoc);
}
Puntos clave
- La política XSLTEnabled en Edge 147 permite la deprecación controlada de XSLT a partir de abril de 2026.
- Las vulnerabilidades de libxslt (XXE, SSRF) hacen que la tecnología sea insegura sin parches.
- Migrar a transformaciones en JS o plantillas del lado del servidor: será el estándar para 2027.
- Todos los motores (Chromium, WebKit, Gecko) están alineando la deprecación para 2027.
- Administradores empresariales: Probar vía GPO, monitorear aplicaciones XML heredadas.
— Editorial Team
Aún no hay comentarios.