Descripción
OpenEMR, desde la versión 7.0.1 y anteriores a la 8.4.0, contiene una falla en src/Common/Auth/OneTimeAuth.php que ignora los indicadores enforce_onetime_use y max_access_count, nunca revoca los tokens service_auth ya utilizados y verifica login_pin sin limitación de intentos ni comparación estricta. Los atacantes que tengan un token capturado pueden reutilizarlo o realizar un ataque de fuerza bruta contra el PIN para abrir sesiones del portal de pacientes, lo que expone información de salud protegida (PHI).
Qué hacer
Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.
Versiones afectadas
- openemr Afectadas: 7.0.1 y anteriores a 8.4.0 No afectadas: 8.4.0
Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.
Referencias
- Aviso del fabricantegithub.com/openemr/openemr/security/advisories/GHSA-xg3m-9pfq-c8r6
- Aviso de vulncheck.comvulncheck.com/advisories/openemr-7.0.1-before-8.4.0-onetimeauth-token…
Ver el texto original en inglés (CVE.org)
OpenEMR 7.0.1 before 8.4.0 OneTimeAuth Token Replay and PIN Brute Force
OpenEMR from 7.0.1 before 8.4.0 contains a flaw in src/Common/Auth/OneTimeAuth.php that ignores the enforce_onetime_use and max_access_count flags, never revokes consumed service_auth tokens, and checks login_pin without rate limiting or strict comparison. Attackers holding a captured token can replay it or brute-force the PIN to open patient-portal sessions exposing PHI.