Podatność typu path traversal w OpenEMR (wersje przed 7.0.4) pozwala każdemu uwierzytelnionemu użytkownikowi — niezależnie od poziomu uprawnień — odczytać dowolne pliki z systemu plików serwera. Jest to szczególnie niebezpieczne w kontekście medycznym, gdzie serwer może przechowywać wrażliwe dane pacjentów oraz dane konfiguracyjne.
▸ Pokaż oryginał (EN)
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 7.0.4, the `disposeDocument()` method in `EtherFaxActions.php` allows authenticated users to read arbitrary files from the server filesystem. Any authenticated user (regardless of privilege level) can exploit this vulnerability to read sensitive files. Version 7.0.4 patches the issue.
Metoda `disposeDocument()` w pliku `EtherFaxActions.php` nie przeprowadza wystarczającej walidacji ścieżek do plików przekazywanych przez użytkownika. Atakujący może skonstruować żądanie zawierające sekwencje path traversal (np. `../../`), aby wyjść poza dozwolony katalog i uzyskać dostęp do dowolnego pliku dostępnego dla procesu serwera. Exploitacja wymaga wyłącznie posiadania ważnego konta w aplikacji, bez konieczności posiadania podwyższonych uprawnień.
Atakujący może odczytać dowolne pliki z systemu plików serwera, w tym pliki konfiguracyjne zawierające hasła, klucze prywatne, dane uwierzytelniające do baz danych oraz wrażliwe dane medyczne pacjentów. Ujawnienie tych danych może prowadzić do dalszej kompromitacji systemu lub naruszenia przepisów o ochronie danych (np. RODO, HIPAA).
Należy zaktualizować OpenEMR do wersji 7.0.4, która zawiera poprawkę eliminującą podatność. Patch dostępny jest w repozytorium GitHub projektu (commit 22f8e53e5769a88b7a16cb223bd197d044c84e5a).
OpenEMR we wszystkich wersjach przed 7.0.4.
Podatność dotyczy systemu służby zdrowia przechowującego elektroniczną dokumentację medyczną, co znacząco podnosi ryzyko biznesowe i prawne w przypadku wykorzystania. Wymagane jest jedynie uwierzytelnienie na dowolnym poziomie uprawnień.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HOpen Emr Openemr
APPOpen-Emr< 7.0.4
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
OpenEMR: ujawnienie tokenów API MedEx bez uwierzytelnienia (Auth Bypass)
SQL Injection w OpenEMR — narażenie danych PHI przez parametr _sort
SQL Injection w OpenEMR 7.0.2 — krytyczna podatność w module aptecznym