
cve-2018-8108
Durante una prueba de seguridad, se descubrió accidentalmente un problema. bui es un framework front-end, muchas empresas lo utilizan para construir sus propios front-ends.
Normalmente, el método para prevenir XSS es tratar todas las entradas de usuario como no confiables, escaparlas en la salida y pasarlas a la página front-end para su visualización. Pero el componente select de bui, al mostrar esta salida, vuelve a escapar la entrada de usuario que ya había sido escapada, lo que provoca que el payload XSS evite el mecanismo de seguridad original y continúe ejecutándose.
El ejemplo en el adjunto proviene de un caso real.
Se puede ver que los datos en la etiqueta input con id “workGroupList” ya han sido escapados, Cuando BUI.use utiliza el componente select a continuación, accede a los datos de “workGroupList”, lo que desencadena directamente la ejecución del payload XSS que ingresamos.
Puedes intentar ejecutarlo para probar.