Kimai: Arbitrary file read in invoice PDF renderer (admin)
13Vexday Risk Score
Sin señal de explotación. Ningún artefacto público de explotación conocido hasta ahora.
ssvc Trackcvss 4.1epss 0.3%
probabilidad de explotación
0.3%top 80% de las CVE
explotación observada
noninguna fuente lo reporta
En resumen
Kimai permite que administradores con permisos específicos carguen plantillas de facturas PDF maliciosas que pueden leer cualquier archivo accesible al servidor web e incluirlo en el PDF generado. Esto permite que los atacantes extraigan información sensible como archivos de configuración o credenciales.
Detalle técnico
Existe una vulnerabilidad de path traversal (CWE-22) en el renderizador de PDF de facturas de Kimai, donde usuarios autenticados con ROLE_SYSTE_ADMIN y permiso upload_invoice_template pueden inyectar rutas de archivo arbitrarias mediante pdfContext.setOption() en plantillas Twig. La biblioteca mPDF ejecuta file_get_contents() en rutas controladas por el atacante durante la generación del PDF, permitiendo la exfiltración de archivos legibles por el proceso PHP.
Resumen generado y traducido por IA a partir de la descripción oficial.
Kimai is an open-source time tracking application. From version 2.32.0 to before version 2.56.0, users with the role System-Admin (ROLE_SYSTE_ADMIN) and the permission upload_invoice_template can upload PDF invoice templates, which can call pdfContext.setOption('associated_files', ...) inside the sandboxed Twig render. This is forwarded to mPDF's SetAssociatedFiles(), whose writer calls file_get_contents($entry['path']) during PDF output and embeds the bytes as a FlateDecode stream in the PDF. Any file readable by the PHP worker is returned to the attacker inside the rendered invoice. This issue has been patched in version 2.56.0.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:N