Avisos de seguridad
Vulnerabilidades descubiertas por el equipo de Sofistic
OpenEMR – Fallo de Validación en el Formulario de Subida de Documentos (CVE-2022-4504)
por Manuel Ginés |
El nombre de cualquier documento subido puede ser manipulado, utilizando el parámetro «destination», para incluir caracteres de nueva línea en su nombre. Esta situación puede ser utilizada para interrumpir la ejecución de código JS en la sección «Documentos» y dejarlo inutilizable hasta que el registro malicioso sea eliminado de la BD.
OpenEMR – Cross-Site Scripting Reflejado en Módulo de Gestión de Pagos (CVE-2022-4503)
por Manuel Ginés |
El script que gestiona el pago con tarjeta de crédito no validaba y codificaba correctamente los parámetros «cardHolderName» y «zip«, lo que permitía a los usuarios incluir código HTML sin analizar en la respuesta del servidor.
OpenEMR – Error de Validación en la Subida de Ficheros (CVE-2022-4506)
por Manuel Ginés |
La funcionalidad de subida de ficheros no validaba correctamente el atributo content-type del archivo, permitiendo a cualquier usuario autenticado saltarse esta comprobación de seguridad añadiendo una firma válida (p.e. GIF89) y enviando cualquier tipo de content-type no válido. Esto podría ser utilizado por un atacante autenticado para subir archivos potencialmente maliciosos al dominio afectado.
OpenEMR – Fallo en los Controles de Acceso a los Documentos de Pacientes (CVE-2022-4567)
por Manuel Ginés |
Un usuario autenticado sin permisos de acceso a la sección «Documentos» podría acceder directamente a cualquier documento del sistema manipulando los parámetros patient_id y document_id en la propia url. Además, al tener un identificador autoincremental, era vulnerable a ataques de fuerza bruta en ambos parámetros, disminuyendo la dificultad de encontrar documentos válidos. La segunda instancia permitía a los usuarios sin privilegios subir archivos a cualquier repositorio de otros usuarios.
OpenEMR – Múltiples Instancias de Cross-Site Scripting Reflejados en el Módulo de Mensajes (CVE-2022-4502)
por Manuel Ginés |
El módulo de mensajes estaba afectado por dos instancias de Cross-Site Scripting (XSS). La primera involucraba al parámetro «stage» al usar la funcionalidad «setup«. El otro fallo se encontraba en el parámetro «parameter» enviado mediante POST al guardar mensajes,. El payload se reflejaba en la respuesta que era de tipo HTML.