noviembre 8, 2026

Tecnología Geek

Noticias diarias sobre tecnología, móviles, inteligencia artificial y gadgets en español. Reviews, lanzamientos y tendencias para Latinoamérica.

Ciberseguridad Industrial & Consumidor

OpenEMR fallos críticos dejan historiales médicos abiertos

Monitor de una clínica con un historial médico electrónico en pantalla y una luz roja de alerta encendida sobre el escritorio

Los fallos críticos de OpenEMR publicados este domingo 8 de noviembre dejan los historiales médicos de miles de clínicas a una sola cuenta interna de distancia. La corrección ya existe y va por dos versiones: 8.3.0 para el grueso de los avisos y 8.4.0 para el fallo del portal de pacientes.

OpenEMR es un programa de código abierto para historiales médicos y gestión de consultas: guarda datos personales, diagnósticos, medicamentos, resultados de laboratorio y facturación. HIPAA Journal cifró en abril su tamaño en más de 100.000 proveedores y más de 200 millones de pacientes en el mundo, con presencia fuerte en clínicas pequeñas y centros comunitarios que no pagan las licencias de los sistemas comerciales. Su código se descarga gratis y cada centro lo instala en su propio servidor, detalle que reparte la tarea del parche entre miles de administradores pequeños.

Una cuenta de enfermería abre la base de datos entera

El aviso más grave de la tanda, registrado por VulnCheck con el código CVE-2026-124469 y una nota de 9,4 sobre 10, describe una inyección SQL en la hoja de cargos, el formulario donde se registran los servicios y medicamentos de cada consulta. El campo de almacén de ese formulario entra sin filtrar en la cláusula de ordenación de la consulta, y el aviso de GitHub del propio proyecto lo demuestra con una prueba cronometrada: a 1,24 segundos por respuesta afirmativa y 0,02 por negativa, un usuario con rol de enfermería extrae la base de datos bit a bit.

Dentro del botín aparece la tabla users_secure, donde duermen las contraseñas cifradas con bcrypt del administrador y de cada médico. Con esos códigos robados, el atacante trabaja sin conexión hasta dar con las claves débiles y entra ya como personal de la casa. OpenEMR detalló que la lectura alcanza cualquier tabla: demografía, diagnósticos, notas clínicas y cobros de todos los pacientes.

La misma tanda trae otro aviso de 9,4, el CVE-2026-124490, en el módulo de fax y mensajes oe-module-faxsms cuando el proveedor activo es RingCentral. Una sesión válida basta para pedir archivos del servidor con el parámetro file_path, incluidas las credenciales de la base de datos, o para escribir un archivo nuevo en una carpeta ejecutable y tomar el servidor. El propio aviso admite que un componente hermano, EtherFax, ya había recibido ese blindaje y este quedó olvidado.

El resto de la tanda suma al menos otros once avisos con código propio publicados en el mismo minuto: documentos de un paciente visibles para otro desde el portal, notas clínicas modificables por personal sin permiso de alta sensibilidad, registros de pago falsificables y otra inyección SQL en la interfaz de documentos del portal, con notas entre 7,1 y 8,8. Todos comparten el mismo patrón: controles de acceso que el servidor anuncia, pero no aplica.

El enlace de un solo uso dura catorce días

En el portal de pacientes se esconde el tercer problema grande. El aviso GHSA-xg3m-9pfq-c8r6 explica que los enlaces de acceso de un solo uso de OpenEMR nunca se revocan: el sistema anota cuántas veces se usó cada token, pero jamás comprueba el límite que el propio enlace declara. Un enlace de factura pensado para un uso y catorce días de vida se puede abrir una y otra vez durante las dos semanas, y cada apertura crea una sesión completa con nombre, fecha de nacimiento, número de seguro social, medicamentos y resultados del paciente.

Si el enlace pide un código PIN de seis dígitos, la protección tampoco frena: no hay contador de intentos ni bloqueo, y el espacio real de códigos es de 151.200 combinaciones porque los dígitos no se repiten. El aviso calcula unas dos horas de promedio a diez intentos por segundo. VulnCheck registró este fallo como CVE-2026-124445, con nota de 9,8 en la base de datos nacional de vulnerabilidades, y su corrección quedó en la versión 8.4.0, no en la 8.3.0 de los demás.

El sector sanitario ya conoce el costo de descuidar estas piezas: el robo de registros de 4,5 millones de pacientes del sistema de salud dejó en 2014 una de las primeras grandes lecciones sobre historiales guardados en servidores mal protegidos. La diferencia en 2026 es el punto de entrada: casi todos los avisos de esta tanda piden una cuenta válida de personal o de paciente, así que el robo de una sola contraseña interna, o su compra a un intermediario, abre la puerta que el parche cierra.

VulnCheck asignó los códigos CVE y publicó los avisos hoy a las 13:16 UTC, la hora universal coordinada; ninguno figura en el catálogo de vulnerabilidades explotadas de CISA, la agencia de ciberseguridad de Estados Unidos, y no hay explotación conocida al cierre de esta edición. El dato que manda es otro: las versiones corregidas, 8.3.0 y 8.4.0, ya estaban publicadas cuando los avisos salieron, así que cada clínica que siga con una versión vieja queda expuesta con el manual del ataque ya en público. Los avisos llegaron con el código de la prueba incluido, y cualquier administrador puede comprobar en su propia instalación si el campo de almacén acepta texto sin filtrar.

Fuente: OpenEMR en GitHub