← Vulnerability feed

Vulnerability record · CVE-2020-19364 · published 20 January 2021

CVE-2020-19364: OpenEMR unrestricted file upload enables PHP code execution

Open Emr · Openemr

OpenEMR 5.0.1 permits an authenticated attacker to upload and execute malicious PHP scripts through /controller.php. Because uploaded files can be executed as PHP, the flaw turns a low-privileged account into remote code execution on the web server. This matters for any exposed OpenEMR deployment, since the application handles sensitive patient data.

8.8 CVSS 3.1 High EPSS 71% · top 0.6% CWE-434 · Unrestricted file upload
8.8CVSS 3.1 base score, v2 6.5
71%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
2References, 2 tagged exploit
17 Jun 2026Last modified by NVD

Description

OpenEMR 5.0.1 allows an authenticated attacker to upload and execute malicious PHP scripts through /controller.php.

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 19 September 2026. Confidence: medium.

high priorityAuthenticated remote code execution with a high CVSS score and very high EPSS, though it requires a valid account and is not in KEV.

What it is

OpenEMR 5.0.1 permits an authenticated attacker to upload and execute malicious PHP scripts through /controller.php. Because uploaded files can be executed as PHP, the flaw turns a low-privileged account into remote code execution on the web server. This matters for any exposed OpenEMR deployment, since the application handles sensitive patient data.

Impact

An attacker with a valid account gains remote code execution with the web server's privileges, allowing full compromise of the application and its data. CVSS 3.1 scores it 8.8 (HIGH) with high confidentiality, integrity and availability impact.

Attack surface

Reached over the network via HTTP requests to /controller.php; the CVSS vector (AV:N/AC:L/PR:L/UI:N) indicates a low-privileged authenticated account is required and no user interaction is needed. No unauthenticated path is described in the record.

Exploitation

Not listed in CISA KEV and no ransomware usage is documented, but EPSS is 0.70575 (99.4th percentile) and both references are tagged Exploit, indicating public exploit material exists. The record does not state whether exploitation has been observed in the wild.

What to do

  • Upgrade OpenEMR to a release later than 5.0.1 that fixes the /controller.php upload handling; patch first.
  • Restrict upload handling so files are validated by type and stored outside the web root, and disable PHP execution in any upload directory.
  • Limit accounts that can reach /controller.php and enforce least privilege for authenticated users.
  • Place the OpenEMR interface behind authentication-aware access controls or a VPN and monitor for anomalous upload requests.

Detection

  • Monitor web logs for POST requests to /controller.php that carry file uploads, especially PHP content types or .php filenames.
  • Alert on newly created .php files in upload or writable directories and on unexpected child processes spawned by the web server.
  • Review OpenEMR audit logs for upload activity from accounts that do not normally upload files.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

Track CVE-2020-19364 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

9.8CVE-2026-24898Open-emr openemr improper authentication vulnerabilityOpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.0.0, an unauthenticated token dis…EPSS 0.56%9.8CVE-2024-22611Open-emr openemr sql injection vulnerabilityOpenEMR 7.0.2 is vulnerable to SQL Injection via \openemr\library\classes\Pharmacy.class.php, \controllers\C_Pharmacy.class.php and \openemr\controll…EPSS 6.3%9.8CVE-2024-37734Open-emr openemr vulnerabilityAn issue in OpenEMR 7.0.2 allows a remote attacker to escalate privileges viaa crafted POST request using the noteid parameter.EPSS 0.80%9.8CVE-2020-13567Open-emr openemr sql injection vulnerabilityMultiple SQL injection vulnerabilities exist in phpGACL 3.3.7. A specially crafted HTTP request can lead to a SQL injection. An attacker can send an …EPSS 2.3%9.8CVE-2019-17197Open-emr openemr sql injection vulnerabilityOpenEMR through 5.0.2 has SQL Injection in the Lifestyle demographic filter criteria in library/clinical_rules.php that affects library/patient.inc.EPSS 1.5%9.8CVE-2019-14529Open-emr openemr sql injection vulnerabilityOpenEMR before 5.0.2 allows SQL Injection in interface/forms/eye_mag/save.php.EPSS 28%9.8CVE-2018-17179Open-emr openemr sql injection vulnerabilityAn issue was discovered in OpenEMR before 5.0.1 Patch 7. There is SQL Injection in the make_task function in /interface/forms/eye_mag/php/taskman_fun…EPSS 13%9.8CVE-2018-17181Open-emr openemr sql injection vulnerabilityAn issue was discovered in OpenEMR before 5.0.1 Patch 7. SQL Injection exists in the SaveAudit function in /portal/lib/paylib.php and the portalAudit…EPSS 1.4%

Source: NIST National Vulnerability Database (record CVE-2020-19364), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.