Vulnerabilidad en view_component (CVE-2024-21636)
Gravedad CVSS v3.1:
MEDIA
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:
04/01/2024
Última modificación:
10/01/2024
Descripción
view_component es un framework para crear componentes de vista reutilizables, comprobables y encapsulados en Ruby on Rails. Las versiones anteriores a la 3.9.0 tienen una vulnerabilidad de cross site scripting que tiene el potencial de afectar a cualquiera que renderice un componente directamente desde un controlador con la gema view_component. Tenga en cuenta que sólo se ven afectados los componentes que definen un método `#call` (es decir, en lugar de utilizar una plantilla complementaria). El valor de retorno del método `#call` no está sanitizado y puede incluir contenido definido por el usuario. Además, el valor de retorno del método `#output_postamble` no está sanitizado, lo que también puede provocar problemas de cross site scripting. Se lanzó la versión 3.9.0 y mitiga por completo las vulnerabilidades `#call` y `#output_postamble`. Como workaround, sanitice valor de retorno de `#call`.
Impacto
Puntuación base 3.x
6.10
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:viewcomponent:view_component:*:*:*:*:*:ruby:*:* | 2.83.0 (excluyendo) | |
cpe:2.3:a:viewcomponent:view_component:*:*:*:*:*:ruby:*:* | 3.0.0 (incluyendo) | 3.9.0 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/ViewComponent/view_component/commit/0d26944a8d2730ea40e60eae23d70684483e5017
- https://github.com/ViewComponent/view_component/commit/c43d8bafa7117cbce479669a423ab266de150697
- https://github.com/ViewComponent/view_component/pull/1950
- https://github.com/ViewComponent/view_component/pull/1962
- https://github.com/ViewComponent/view_component/security/advisories/GHSA-wf2x-8w6j-qw37