OpenEMR versions prior to 8.3.0 contain missing authorization and insecure direct object reference vulnerabilities in the oe-module-prior-authorizations module. These flaws allow authenticated low-privilege users to access and modify other patients' records, including sensitive information such as names, medical record numbers (MRNs), insurance, and prior authorization data. Attackers can exploit endpoints like public/reports/list_report.php to view patient data or submit arbitrary IDs to public/index.php to overwrite prior-authorization records. The issue is fixed in OpenEMR version 8.3.0.
OpenEMR versions prior to 8.3.0 contain an authorization bypass vulnerability in the OnsiteDocumentController::Query() function. Authenticated portal patients can manipulate request parameters to access other patients' documents, including sensitive health information and signed consent forms. This flaw allows unauthorized reading of protected health information (PHI).
OpenEMR versions prior to 8.3.0 contain an authorization bypass vulnerability in portal/lib/persist.php. Authenticated portal patients can exploit this flaw by modifying the setting_patient parameter in a JSON POST request to change another patient's portal settings, such as the portal theme. This issue is fixed in version 8.3.0.
OpenEMR versions before 8.3.0 contain a stored cross-site scripting (XSS) vulnerability in the eye_mag report generation feature. Authenticated users with document-note write access can inject malicious JavaScript into retina document notes. This script executes when clinicians generate the Eye Exam patient report, potentially exposing session cookies. The vulnerability is fixed in version 8.3.0.
OpenEMR versions prior to 8.4.0 have an authorization bypass vulnerability in the SMART on FHIR implementation. The function checkUserHasAccessToPatient() in BearerTokenAuthorizationStrategy.php always returns true, allowing authenticated users or malicious SMART apps to manipulate token launch context. This manipulation can bind requests to arbitrary patient UUIDs, enabling unauthorized read and write access to other patients' FHIR resources. The issue is fixed in version 8.4.0.
OpenEMR versions prior to 8.3.0 contain a stored cross-site scripting (XSS) vulnerability in two PHP form scripts. Authenticated clinical users can inject malicious event-handler markup by submitting crafted input containing double quotes, which escapes HTML attribute boundaries. This can lead to exposure of session data and protected health information or unauthorized patient-record actions when another clinician views the affected form. The vulnerability is fixed in OpenEMR version 8.3.0.
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, library/ajax/payment_ajax.php validates a CSRF token but performs no AclMain authorization check before executing a wildcard search of patient_data. Any authenticated user, including a non-clinical role, can enumerate patient identifiers, full names, and dates of birth through the set_patient branch. This issue is fixed in version 8.3.0.
OpenEMR versions prior to 8.3.0 contain an improper access control vulnerability in the new_recall branch of interface/main/messages/save.php. This flaw allows low-privilege authenticated users to supply arbitrary patient identifiers (pid) without proper authorization checks, enabling them to access sensitive patient details, contact information, HIPAA notification preferences, recent appointments, and recall data. The vulnerability is fixed in version 8.3.0.
OpenEMR versions prior to 8.3.0 contain a Cross-Site Request Forgery (CSRF) vulnerability in the pos_checkout_ippf.php interface. This flaw allows state-changing operations such as voiding transactions or regenerating invoice counters through GET requests without proper CSRF token validation. The conditional form_checksum integrity check can be bypassed when a specific parameter is omitted, enabling an attacker to force an authenticated billing user to perform unauthorized actions. This vulnerability affects financial and audit records integrity. The issue is resolved in OpenEMR version 8.3.0.
OpenEMR versions prior to 8.3.0 contain an improper access control vulnerability in the sms_search branch of interface/main/messages/save.php. This flaw allows low-privilege authenticated users to access patient identifiers, names, phone numbers, SMS permission status, and recent message information without proper patient or feature-level access control enforcement. The vulnerability is fixed in version 8.3.0.
OpenEMR versions prior to 8.3.0 contain a missing authorization vulnerability (CWE-862) in the handling of patient identifiers within session data. This flaw allows any authenticated user with low privileges to set an arbitrary patient identifier in their session and subsequently download sensitive patient documents without proper access control. The vulnerability is fixed in version 8.3.0.
OpenEMR versions prior to 8.2.0 contain a vulnerability where patient documents are stored with predictable filenames in a publicly accessible location. This allows unauthenticated actors who can guess or obtain the URL to access sensitive patient documents. The issue is fixed in version 8.2.0.
OpenEMR versions prior to 8.3.0 contain a path traversal vulnerability in the EDI archive restore function. This flaw allows an authenticated user with EOB Data Entry permissions to probe arbitrary filesystem paths on the server by exploiting unsanitized input in the archrestore_sel POST parameter. The vulnerability leaks information about file existence based on differing response messages.
OpenEMR versions prior to 8.3.0 contain a cross-site request forgery (CSRF) vulnerability in the DICOM viewer component. This vulnerability arises because the web_path GET parameter is embedded directly as a URL without proper validation or sanitization. An attacker can exploit this by crafting a malicious URL that causes an authenticated user with Patients - Documents permissions to perform unintended authenticated requests, such as forced logout or other state-changing actions.
OpenEMR versions before 8.3.0 contain a reflected cross-site scripting (XSS) vulnerability in the patient portal template import handler. The vulnerability arises because the templateHtml GET parameter is reflected in the page response without proper sanitization. An attacker can craft a malicious URL that executes arbitrary JavaScript in the browser of any authenticated user with Forms Administration permissions who clicks the link, potentially enabling session hijacking.
OpenEMR versions before 8.3.0 contain a stored cross-site scripting (XSS) vulnerability in the patient portal template import handler. Authenticated users with Forms Administration permissions can upload template files containing arbitrary HTML or JavaScript. These malicious scripts are stored without proper sanitization and execute in the browsers of other Forms Administration users who view the template in the HTML editor. This vulnerability has a medium severity rating with a CVSS score of 5.4.