Kimai: Stored XSS via Incomplete HTML Attribute Escaping in Team Member Widget
Kimai tiene una falla de seguridad donde los nombres de usuario no se escapan correctamente al mostrarse en formularios, permitiendo que atacantes inyecten código malicioso que se ejecuta cuando administradores ven la página. Un atacante con acceso de usuario común puede almacenar este código para robar credenciales de admin o realizar acciones como administrador.
La función escapeForHtml() en el archivo KimaiEscape.js no escapa caracteres de comillas (simples y dobles), permitiendo inyección de atributos HTML cuando aliases de usuarios se renderizan vía innerHTML en el widget de miembros del equipo. Un atacante autenticado con ROLE_USER puede crear un alias malicioso que contenga payloads JavaScript que se ejecuten en el contexto del navegador de un administrador, logrando XSS almacenado y escalación de privilegios.
¿Quieres saber si tu infraestructura está expuesta a esto?
Hablar con TrueHacking →