Description
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.0.0.2, a stored cross-site scripting (XSS) vulnerability in the patient portal payment flow allows a patient portal user to persist arbitrary JavaScript that executes in the browser of a staff member who reviews the payment submission. The payload is stored via `portal/lib/paylib.php` and rendered without escaping in `portal/portal_payment.php`. Version 8.0.0.2 fixes the issue.
Published: 2026-03-19
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Stored XSS
Action: Immediate Patch
AI Analysis

Impact

OpenEMR contains a stored cross‑site scripting vulnerability that allows a patient portal user to embed arbitrary JavaScript into the payment submission data. The malicious payload is stored through portal/lib/paylib.php and is later rendered by portal/portal_payment.php without escaping, causing the script to run in the browsers of staff members who inspect payment records. This flaw permits the execution of attacker‑supplied code within the context of a staff member’s session.

Affected Systems

The affected product is OpenEMR, an open‑source electronic health records system, from the openemr vendor. Versions released before 8.0.0.2 are vulnerable, while 8.0.0.2 and later include the fix.

Risk and Exploitability

The vulnerability receives a CVSS score of 8.7, classifying it as high severity. The EPSS score is below 1 %, indicating a low current likelihood of exploitation. It is not listed within the CISA KEV catalog. Exploitation requires a patient portal user to submit a payment containing the malicious payload; when a staff member later views that payment, the embedded script executes in their browser. Monitoring for unusual payment entries or restricting payment submissions may mitigate the risk until the patch is applied.

Generated by OpenCVE AI on March 20, 2026 at 16:53 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade OpenEMR to version 8.0.0.2 or later to apply the vendor patch that addresses the unescaped output issue.
  • Verify that portal/portal_payment.php properly escapes all output fields, especially if custom modules are in use.
  • If an upgrade cannot be performed immediately, disable the patient portal payment feature until the patch is applied.
  • Monitor application logs for attempts to submit JavaScript payloads in payment fields.
  • Consider implementing an intrusion detection rule that flags unusual JavaScript code embedded in payment data.

Generated by OpenCVE AI on March 20, 2026 at 16:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 20 Mar 2026 18:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 20 Mar 2026 15:15:00 +0000

Type Values Removed Values Added
First Time appeared Open-emr
Open-emr openemr
CPEs cpe:2.3:a:open-emr:openemr:*:*:*:*:*:*:*:*
Vendors & Products Open-emr
Open-emr openemr

Fri, 20 Mar 2026 09:00:00 +0000

Type Values Removed Values Added
First Time appeared Openemr
Openemr openemr
Vendors & Products Openemr
Openemr openemr

Thu, 19 Mar 2026 20:45:00 +0000

Type Values Removed Values Added
Description OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.0.0.2, a stored cross-site scripting (XSS) vulnerability in the patient portal payment flow allows a patient portal user to persist arbitrary JavaScript that executes in the browser of a staff member who reviews the payment submission. The payload is stored via `portal/lib/paylib.php` and rendered without escaping in `portal/portal_payment.php`. Version 8.0.0.2 fixes the issue.
Title OpenEMR has stored XSS in portal_payment.php via Unescaped table_args
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 8.7, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-03-20T18:10:45.920Z

Reserved: 2026-03-18T22:15:11.813Z

Link: CVE-2026-33346

cve-icon Vulnrichment

Updated: 2026-03-20T17:04:07.731Z

cve-icon NVD

Status : Modified

Published: 2026-03-19T21:17:12.180

Modified: 2026-03-20T19:16:19.253

Link: CVE-2026-33346

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-03-25T11:55:01Z

Weaknesses