W aplikacji OpenEMR przed wersją 8.0.0 istnieje podatność pozwalająca nieuwierzytelnionemu atakującemu na uzyskanie tokenów API MedEx poprzez endpoint callback. Skutkuje to całkowitym przejęciem kontroli nad usługą MedEx, eksfiltrację danych medycznych (PHI) oraz naruszeniem przepisów HIPAA.
▸ Pokaż oryginał (EN)
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.0.0, an unauthenticated token disclosure vulnerability in the MedEx callback endpoint allows any unauthenticated visitor to obtain the practice's MedEx API tokens, leading to complete third-party service compromise, PHI exfiltration, unauthorized actions on the MedEx platform, and HIPAA violations. The vulnerability exists because the endpoint bypasses authentication ($ignoreAuth = true) and performs a MedEx login whenever $_POST['callback_key'] is provided, returning the full JSON response including sensitive API tokens. This vulnerability is fixed in 8.0.0.
Endpoint MedEx callback jest skonfigurowany z parametrem $ignoreAuth = true, co oznacza całkowite pominięcie mechanizmu uwierzytelniania. Gdy atakujący wyśle żądanie POST zawierające parametr callback_key, aplikacja automatycznie wykonuje logowanie do MedEx i zwraca pełną odpowiedź JSON zawierającą wrażliwe tokeny API. Nie są wymagane żadne dane uwierzytelniające ani uprzedni dostęp do systemu — atak jest możliwy dla dowolnego anonimowego użytkownika z dostępem sieciowym do instancji OpenEMR.
Atakujący uzyskuje pełne tokeny API MedEx gabinetu lekarskiego, co umożliwia przejęcie usługi MedEx, kradzież chronionych informacji medycznych (PHI) pacjentów oraz wykonywanie nieautoryzowanych działań na platformie MedEx, a w konsekwencji naruszenie przepisów HIPAA.
Należy niezwłocznie zaktualizować OpenEMR do wersji 8.0.0, w której podatność została naprawiona. Patch dostępny jest w repozytorium projektu (commit 8e4de59ab58222f13abc4e4040128737d857db9c). Do czasu aktualizacji należy rozważyć ograniczenie dostępu sieciowego do instancji OpenEMR na poziomie firewall.
OpenEMR we wszystkich wersjach przed 8.0.0
Podatność dotyczy środowisk przetwarzających chronione informacje medyczne (PHI) i może skutkować naruszeniem przepisów HIPAA. Poprawka została wprowadzona w wersji 8.0.0 zgodnie z oficjalnym security advisory projektu OpenEMR (GHSA-qwff-3mw7-7rc7).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HOpen Emr Openemr
APPOpen-Emr< 8.0.0
Powiązane podatności
Command Injection w funkcji backup OpenEMR (wersje przed 8.0.0.2)
OpenEMR: Wyciek klucza API bramki płatności do klienta w plaintext
SQL Injection w OpenEMR — narażenie danych PHI przez parametr _sort
OpenEMR: path traversal umożliwia odczyt dowolnych plików przez uwierzytelnionego użytkownika
SQL Injection w OpenEMR 7.0.2 — krytyczna podatność w module aptecznym