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.
The `disposeDocument()` method in the `EtherFaxActions.php` file does not perform sufficient validation of file paths passed by the user. An attacker can construct a request containing path traversal sequences (e.g., `../../`) to escape the allowed directory and gain access to any file accessible to the server process. Exploitation requires only having a valid account in the application, without the need for elevated privileges.
An attacker can read any files from the server file system, including configuration files containing passwords, private keys, database credentials, and sensitive patient medical data. Disclosure of this data can lead to further system compromise or violation of data protection regulations (e.g., GDPR, HIPAA).
OpenEMR should be updated to version 7.0.4, which contains a patch eliminating the vulnerability. The patch is available in the project's GitHub repository (commit 22f8e53e5769a88b7a16cb223bd197d044c84e5a).
OpenEMR in all versions before 7.0.4.
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
Related vulnerabilities
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