Vulnerabilidad en dom-expressions (CVE-2025-27108)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-79
Neutralización incorrecta de la entrada durante la generación de la página web (Cross-site Scripting)
Fecha de publicación:
21/02/2025
Última modificación:
27/02/2025
Descripción
dom-expressions es un entorno de ejecución de grano fino para la representación de DOM de alto rendimiento. En las versiones afectadas, el uso de `.replace()` de javascript abre la puerta a posibles vulnerabilidades de Cross-site Scripting (XSS) con los patrones de reemplazo especiales que comienzan con `$`. En particular, cuando los atributos de la etiqueta `Meta` de solid-meta están definidos por el usuario, los atacantes pueden utilizar los patrones de reemplazo especiales, ya sea `$'` o `$\`` para lograr XSS. El paquete solid-meta tiene este problema, ya que utiliza `useAffect` y proveedores de contexto, que inyectan los activos utilizados en el encabezado html. "dom-expressions" utiliza `.replace()` para insertar los activos, lo que es vulnerable a los patrones de reemplazo especiales enumerados anteriormente. Esto significa efectivamente que si los atributos de una etiqueta de activo contuvieran datos controlados por el usuario, sería vulnerable a XSS. Por ejemplo, puede haber metaetiquetas para el protocolo Open Graph en una página de perfil de usuario, pero si los atacantes configuran la consulta del usuario con algún payload que abuse de `.replace()`, entonces podrían ejecutar código JavaScript arbitrario en el navegador web de la víctima. Además, podría almacenarse y causar más problemas. Este problema se ha solucionado en la versión 0.39.5 y se recomienda a todos los usuarios que actualicen. No se conocen workarounds para esta vulnerabilidad.
Impacto
Puntuación base 3.x
7.30
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:ryansolid:dom_expressions:*:*:*:*:*:*:*:* | 0.39.5 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página