Skip to content
OpenAdvisories

Vendor

openemr

170 known vulnerabilities.

openemr at a glance

Last 12 months
123
Critical · all time
11
Exploited · all time
0
Public exploit · all time
7
New vulnerabilities per month · last 12 months
0 25 50 December 2025: 0 vulnerabilities Dec 2025 January 2026: 2 vulnerabilities February 2026: 27 vulnerabilities, 2 critical March 2026: 44 vulnerabilities, 3 critical Mar April 2026: 0 vulnerabilities May 2026: 0 vulnerabilities June 2026: 1 vulnerability Jun July 2026: 0 vulnerabilities August 2026: 10 vulnerabilities, 1 critical September 2026: 0 vulnerabilities Sep October 2026: 1 vulnerability November 2026: 38 vulnerabilities, 3 critical
Show as table
MonthVulnerabilitiesCritical
Nov 2026383
Oct 202610
Sep 202600
Aug 2026101
Jul 202600
Jun 202610
May 202600
Apr 202600
Mar 2026443
Feb 2026272
Jan 202620
Dec 202500
Nov 202500
Oct 202500
Sep 202500
Aug 202500
Jul 202500
Jun 202500
May 202530
Apr 202510
Mar 202550
Feb 202500
Jan 202500
Dec 202400

170 results · Feed

  • Critical 9.1

    OpenEMR before 8.3.0 Arbitrary File Read/Write via oe-module-faxsms disposeDocument

    OpenEMR before 8.3.0 contains a path traversal vulnerability in the RingCentral RCFaxClient disposeDocument() method of oe-module-faxsms that allows authenticated attackers to read and write arbitrary files via the file_path parameter. Attackers can use actio…

  • Medium 6.5

    OpenEMR before 8.4.0 Improper Authorization in FHIR DocumentReference $docref

    OpenEMR before 8.4.0 contains an improper authorization vulnerability in the non-patient POST /fhir/DocumentReference/$docref route that allows low-privileged users to generate any patient's CCDA. Attackers with only demographics and documents permissions can…

  • High 8.8

    OpenEMR before 8.3.0 Missing Authorization in Classic Document Controller

    OpenEMR before 8.3.0 contains a missing authorization vulnerability in the classic document controller that allows low-privilege authenticated users to recategorize other patients' documents. Attackers can invoke move_action_process to move a document into a …

  • High 8.3

    OpenEMR before 8.4.0 Improper Authorization via Prescription REST API

    OpenEMR before 8.4.0 contains an incorrect authorization vulnerability because the prescription REST API routes check the patients.med ACL instead of patients.rx and request no specific permission bit, so read-only Medical/History access passes the check. Aut…

  • Medium 6.5

    OpenEMR before 8.4.0 Cross-Patient PHI Exfiltration via SMART Patient Launch

    OpenEMR before 8.4.0 contains an authorization bypass allowing low-privileged SMART standalone-launch users to bind arbitrary patient UUIDs into the OAuth token context. Attackers with only the patients|demo ACL can select a victim during authorization and re…

  • Medium 6.5

    OpenEMR before 8.4.0 Arbitrary File Read via REST Document Download

    OpenEMR before 8.4.0 contains an arbitrary local file read vulnerability in REST document download, where the controller passes stored uploaded document bytes to Symfony's BinaryFileResponse as a filesystem path instead of returning them as content. Authentic…

  • Medium 6.5

    OpenEMR before 8.3.0 Missing Authorization via addRecall in save.php

    OpenEMR before 8.3.0 contains a missing authorization vulnerability in the addRecall action of /interface/main/messages/save.php that allows low-privileged authenticated users to modify arbitrary patients' recall data. Attackers can submit a crafted new_pid w…

  • High 7.1

    OpenEMR before 8.3.0 IDOR via portal/lib/persist.php setting_patient

    OpenEMR before 8.3.0 contains an insecure direct object reference vulnerability in portal/lib/persist.php that allows authenticated portal patients to modify other patients' settings by supplying an arbitrary setting_patient value. Attackers can insert or ove…

  • High 7.1

    OpenEMR before 8.3.0 Broken Object Authorization via SOAP Note Update API

    OpenEMR before 8.3.0 contains a broken object-level authorization vulnerability in the SOAP note update API, which does not verify that the supplied SOAP note ID (sid) belongs to the supplied patient and encounter. Authenticated users with encounters/notes pe…

  • Critical 9.9

    OpenEMR before 8.3.0 SQL Injection via Fee Sheet warehouse parameter

    OpenEMR before 8.3.0 contains an SQL injection vulnerability in the Fee Sheet drug-inventory lookup (DrugSalesService::sellDrug) that interpolates the prod[N][warehouse] POST field into an ORDER BY clause. Low-privileged authenticated users can submit Fee She…

  • Medium 6.5

    OpenEMR before 8.3.0 BOLA via portal_custom_report.php Exposes Patient Problem Lists

    OpenEMR before 8.3.0 contains a broken object level authorization vulnerability in portal/report/portal_custom_report.php that allows authenticated portal patients to read other patients' problem list entries. Attackers can enumerate sequential IDs in issue_ …

  • High 7.2

    OpenEMR before 8.4.0 Unauthenticated SSRF via OAuth2 Client jwks_uri

    OpenEMR before 8.4.0 contains a server-side request forgery vulnerability that allows unauthenticated attackers to make the server send HTTP requests by registering an OAuth2 client with an unvalidated jwks_uri. Attackers can trigger the fetch via the token i…

  • Medium 6.5

    OpenEMR before 8.4.0 FHIR Patient Compartment Bypass via QuestionnaireResponse

    OpenEMR before 8.4.0 contains an authorization bypass vulnerability that allows patient-scoped SMART tokens to read other patients' questionnaire responses because FhirQuestionnaireResponseService does not implement IPatientCompartmentResourceService. Attacke…

  • High 8.1

    OpenEMR before 8.3.0 IDOR via DICOM library/ajax/upload.php Endpoint

    OpenEMR before 8.3.0 contains a missing authorization vulnerability in library/ajax/upload.php that allows any authenticated user to read and overwrite document data by supplying an arbitrary doc_id. Low-privilege users can enumerate doc_id values with the fe…

  • Medium 6.5

    OpenEMR before 8.3.0 IDOR in Patient Portal PortalPatientController

    OpenEMR before 8.3.0 contains an insecure direct object reference vulnerability in PortalPatientController::Read() that allows authenticated patients to read other patients' pending demographic change requests. Attackers can supply another patient's ID in the…

  • High 7.1

    OpenEMR before 8.3.0 Missing Authorization and IDOR in Prior-Authorizations Module

    OpenEMR before 8.3.0 contains missing authorization and insecure direct object reference vulnerabilities in the oe-module-prior-authorizations module that allow authenticated low-privilege users to access and modify other patients' records. Attackers can requ…

  • High 7.6

    OpenEMR before 8.3.0 Path Traversal via sl_eob_process.php eraname

    OpenEMR before 8.3.0 contains a path traversal vulnerability in interface/billing/sl_eob_process.php that allows authenticated users to write and read files by supplying unsanitized eraname values. Attackers without billing privileges can inject ../ sequences…

  • Medium 5.4

    OpenEMR before 8.3.0 Stored XSS via Eye Exam Document Notes

    OpenEMR before 8.3.0 contains a stored cross-site scripting vulnerability in interface/forms/eye_mag/report.php that allows authenticated users to inject scripts by adding unescaped document notes. Attackers with document-note write access can store malicious…

  • Medium 5.3

    OpenEMR before 8.4.0 Authorization Bypass via checkUserHasAccessToPatient in SMART on FHIR

    OpenEMR before 8.4.0 contains an authorization bypass vulnerability in its SMART on FHIR implementation because checkUserHasAccessToPatient() in BearerTokenAuthorizationStrategy.php unconditionally returns true. Authenticated users or malicious SMART apps can…

  • High 7.6

    OpenEMR before 8.3.0 Stored XSS via CCDA/CCD Preview XSLT Attributes

    OpenEMR before 8.3.0 contains a stored cross-site scripting vulnerability in the CCDA/CCD preview stylesheets, where cda.xsl copies event-handler attributes whose values evade a character denylist and ccd.xsl copies table-cell attributes unsanitized into prev…

  • High 8.1

    OpenEMR before 8.3.0 IDOR via OnsitePortalActivityController Update Endpoint

    OpenEMR before 8.3.0 contains an insecure direct object reference vulnerability in OnsitePortalActivityController::Update() that checks the request's patientId instead of the stored record's owner. Authenticated portal patients can send PUT requests to the on…

  • High 7.1

    OpenEMR before 8.4.0 SQL Injection via OnsiteDocument Query API

    OpenEMR before 8.4.0 contains a mass assignment vulnerability in the patient portal OnsiteDocument query API that lets request parameters set bitwise criteria filters whose values are placed unquoted into the SQL WHERE clause. Authenticated patient portal use…

  • Critical 9.6

    OpenEMR: Missing Write ACL Allows Unauthorized Document Reassignment

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.4.0, controllers/C_Document.class.php write actions, including move_action_process(), do not verify the caller's access to the source document,…

  • Medium 5.3

    OpenEMR: Username Enumeration via Pre-Authentication User Settings Loading

    OpenEMR is a free and open source electronic health records and medical practice management application. From 6.0.0 until 8.3.0, interface/globals.php uses the unauthenticated authUser login parameter to populate temp_authuserid and load that account's user_s…

  • Medium 5.3

    OpenEMR: Unauthenticated Information Disclosure in admin.php Exposes Database Names and Versions

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, the webroot admin.php multisite administration page is enabled without an authentication check, reads database configuration from sqlconf.…

  • Medium 4.3

    OpenEMR: Unauthenticated Open Redirect via OIDC End Session Endpoint

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, userSessionLogout() in src/RestControllers/AuthorizationController.php uses decodeToken() to process an id_token_hint without verifying it…

  • Medium 6.5

    OpenEMR: Missing authorization in person-search AJAX leaks patient demographics (name, DOB, phone, email)

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, the search_persons action in library/ajax/person_search_ajax.php validates CSRF but does not perform an AclMain authorization check before…

  • Medium 5.4

    OpenEMR: Weno `file_download.php`: missing ACL/CSRF truncates the e-prescribing pharmacy directory

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, interface/modules/custom_modules/oe-module-weno/scripts/file_download.php has no ACL or CSRF check and ignores the result of validateAdmin…

  • Medium 6.5

    OpenEMR: Missing authorization on QRDA Category I/III download endpoints

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, custom/ajax_download.php, custom/download_qrda.php, custom/export_qrda_xml.php, and custom/qrda_download.php validate CSRF but do not enfo…

  • High 8.1

    OpenEMR: Broken Access Control in controller.php Enables Insurance Routing Credential Hijack and PHI Enumeration

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, library/classes/Controller.class.php allows explicit controller.php dispatch to controllers missing from CONTROLLER_ACL_MAP, and checkCont…

  • High 7.1

    OpenEMR: Missing authorization in DORN `compendium_install.php` — non-admin destructive lab-compendium reinstall

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, interface/modules/custom_modules/oe-module-dorn/public/compendium_install.php checks authentication and CSRF but does not require the admi…

  • High 8.1

    OpenEMR: Stored XSS via `text()` Misuse in Double-Quoted HTML Attribute

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, interface/forms/transfer_summary/new.php and interface/forms/functional_cognitive_status/new.php render stored transfer_to, code, and code…

  • Medium 6.5

    OpenEMR: Missing authorization in payment patient-search AJAX leaks patient directory and dates of birth

    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 pat…

  • High 7.1

    OpenEMR: Arbitrary Patient Recall and Contact Detail Read

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, the new_recall branch of interface/main/messages/save.php accepts a caller-supplied pid without enforcing patient-level or recall-workflow…

  • High 7.1

    OpenEMR: CSRF Protection Bypass on IPPF Point-of-Sale Void and Regen Operations

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, interface/patient_file/pos_checkout_ippf.php performs state-changing void, voidall, and regen operations through GET requests without CSRF…

  • High 7.1

    OpenEMR: Patient Data Search Without Sufficient ACL

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, the sms_search branch of interface/main/messages/save.php requires an authenticated session but does not enforce patient or feature-level …

  • Medium 6.5

    OpenEMR: Missing Authorization on Document Template Download Endpoint Allows Any Authenticated User to Read Another Patient's PHI

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, library/ajax/set_pt.php allows any authenticated user to set an arbitrary patient identifier in the active session without an ACL check, a…

  • High 7.5

    OpenEMR FaxSMS module: insecure staging of decrypted patient documents in webroot

    OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.2.0, interface/modules/custom_modules/oe-module-faxsms/src/Controller/SignalWireClient.php decrypts a selected patient document with Document::…

  • High 8.8

    OpenEMR Before 8.5.0 SQL Injection via form_icd_codes[]

    OpenEMR before 8.5.0 contains an authenticated SQL injection vulnerability in the Syndromic Surveillance module that allows users with Clinician-level privileges to read and modify arbitrary database contents by submitting crafted values in the form_icd_codes…

  • Medium 4.3

    OpenEMR < 8.3.0 Path Traversal Information Disclosure via EDI Archive Restore

    OpenEMR before 8.3.0 contains a path traversal vulnerability in the EDI archive restore function. The archrestore_sel POST parameter is passed to the archive restore handler without sanitization for path traversal sequences. The handler checks whether the sup…