CVE-2026-41258 in OpenMRS
Resumen
por VulDB • 2026-05-21
OpenMRS es una plataforma de código abierto para sistemas de historias clínicas electrónicas. Desde la versión 2.7.0 hasta antes de 2.7.9, y en la versión 2.8.6, el método `ConceptReferenceRangeUtility.evaluateCriteria()` de OpenMRS Core evalúa cadenas de criterios almacenadas en la base de datos como plantillas de Apache Velocity sin ninguna configuración de sandbox. El `VelocityEngine` se inicializa únicamente con propiedades de registro (logging) y sin `noSecureUberspector`, lo que deja en vigor la implementación predeterminada `UberspectImpl`, permitiendo una reflexión de Java sin restricciones a través de expresiones de plantilla. Un usuario con el privilegio de Gestionar Conceptos (Manage Concepts) puede almacenar una expresión de plantilla Velocity maliciosa en el campo de criterios de rango de referencia de un concepto. Esta carga útil se ejecuta automáticamente cada vez que un usuario o una llamada a la API valida una observación frente al concepto afectado. El contexto de Velocity expone `$patient` (el objeto Persona/Paciente), `$obs` (el objeto Obs) y `$fn` (la instancia de `ConceptReferenceRangeUtility` con acceso a la capa completa de servicios de OpenMRS). Esta vulnerabilidad se corrige en las versiones 2.7.9 y 2.8.6.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.