Researchers have discovered nearly two dozen vulnerabilities in the OpenEMR software, including critical flaws that can be exploited to gain unauthorized access to medical records.
OpenEMR is a highly popular open source management software for health records and medical practices. The free application offers a wide range of features and it can run on various operating systems, including Windows, Linux and macOS.
Researchers at Project Insecurity, which provides penetration testing, vulnerability assessment and other cybersecurity services, conducted a detailed analysis of the OpenEMR source code. The analysis was based on manual source code reviews and Burp tests, and it led to the discovery of 23 flaws.
Fifteen of the security holes have been rated “high severity.” These include an authentication bypass issue that allows an attacker to access the patient portal, SQL injection flaws, remote command execution bugs, and arbitrary file read/write issues.
The authentication bypass vulnerability can be exploited by an unauthenticated attacker by navigating to the patient registration page and then modifying the URL to access pages that would normally require authentication, including ones storing patient data.
Experts discovered a total of nine SQL injection vulnerabilities, including ones that provide access to databases storing sensitive information. Exploiting the SQL injection flaws requires authentication, but that can be achieved using the aforementioned security bypass.
Four remote command execution flaws have been identified by experts, but they all require authentication, including admin privileges in some cases.
Researchers also found vulnerabilities that can be exploited to upload, read or delete files on the system. Exploitation requires authentication, but their impact can be high.
According to Project Insecurity, OpenEMR is affected by several cross-site request forgery (CSRF) vulnerabilities. In some cases, these flaws can be exploited to escalate privileges and execute arbitrary code if the attacker can convince an administrator to click on a malicious link.
The other vulnerabilities discovered by Project Insecurity include unrestricted file upload, information disclosure and other issues classified as medium or low severity.
Project Insecurity has published a 28-page report detailing each of the flaws, including impact, cause, and proof-of-concept (PoC) code. The report also shares recommendations on how the security holes can be addressed.
The vulnerabilities were reported to OpenEMR developers on July 7 and patches were rolled out for all the bugs within roughly two weeks.
Related: Critical Flaws Expose Natus Medical Devices to Remote Attacks