← Vulnerability feed

Vulnerability record · CVE-2019-14530 · published 13 August 2019

CVE-2019-14530: OpenEMR ajax_download.php path traversal allows arbitrary file read and delete

Open Emr · Openemr

OpenEMR before 5.0.2 contains a path traversal flaw in custom/ajax_download.php reachable through the fileName parameter. An attacker can read any file readable by the www-data user and, if the file is writable by www-data and the cqm_qrda directory exists, cause that file to be deleted from the server.

8.8 CVSS 3.1 High EPSS 66% · top 0.8% CWE-22 · Path traversal
8.8CVSS 3.1 base score, v2 6.0
66%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
10References, 8 tagged exploit
17 Jun 2026Last modified by NVD

Description

An issue was discovered in custom/ajax_download.php in OpenEMR before 5.0.2 via the fileName parameter. An attacker can download any file (that is readable by the user www-data) from server storage. If the requested file is writable for the www-data user and the directory /var/www/openemr/sites/default/documents/cqm_qrda/ exists, it will be deleted from server.

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: high.

high priorityThe flaw allows authenticated arbitrary file read and deletion with public exploit code and very high EPSS, though it is not known to be exploited in ransomware campaigns or listed in KEV.

What it is

OpenEMR before 5.0.2 contains a path traversal flaw in custom/ajax_download.php reachable through the fileName parameter. An attacker can read any file readable by the www-data user and, if the file is writable by www-data and the cqm_qrda directory exists, cause that file to be deleted from the server.

Impact

An attacker gains unauthorized read access to server files accessible to the web server account, which can expose sensitive data such as patient records or configuration, and can delete writable files, causing data loss or service disruption.

Attack surface

The flaw is reached over the network via the fileName parameter in custom/ajax_download.php. The CVSS vector indicates low privileges are required (PR:L) and no user interaction (UI:N), so an authenticated low-privileged user can trigger it.

Exploitation

Public exploit code is referenced in multiple Packet Storm and GitHub advisories, and EPSS is 0.65529 (99.2nd percentile), indicating a high likelihood of exploitation; the CVE is not listed in CISA KEV.

What to do

  • Upgrade OpenEMR to 5.0.2 or later, which contains the fix referenced in PR 2592.
  • Restrict access to custom/ajax_download.php to trusted roles and remove or disable it if not needed.
  • Run the web server with least privilege and ensure www-data cannot write to sensitive directories such as cqm_qrda.
  • Validate and canonicalize the fileName parameter to prevent path traversal, rejecting sequences like ../.
  • Monitor and back up files in writable web directories to detect or recover from deletion.

Detection

  • Inspect web server and application logs for requests to custom/ajax_download.php with fileName values containing ../ or absolute paths.
  • Alert on access to files outside expected document directories via the ajax_download endpoint.
  • Monitor for unexpected deletion or modification of files under /var/www/openemr/sites/default/documents/cqm_qrda/.
  • Use file integrity monitoring on OpenEMR web directories to detect unauthorized reads or deletions.

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-2019-14530 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-2019-14530), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.