Skip to main content

Openemr CVE-2026-33348

HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-03-25 GitHub_M
8.7
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as user with Notes role
  2. Delivery
    Fill Eye Exam form with JavaScript payload
  3. Exploit
    Submit malicious form data
  4. Execution
    Stored XSS executes in encounter display
  5. Impact
    Steal session cookies or perform actions as victim

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

OpenEMR versions prior to 8.0.0.3. Attacker requires authenticated user account with 'Notes - my encounters' role. Attacker must fill Eye Exam form with malicious JavaScript payloads. Victim with same role must view the encounter page or visit history to execute stored XSS.

Impact

The CVSS score of 8.7 (High severity) reflects a network-accessible vulnerability with low attack complexity, requiring low privileges and user interaction, with changed scope enabling high confidentiality and integrity impact. The attack vector (AV:N) indicates remote exploitability, while the changed scope (S:C) means the vulnerability can affect resources beyond the vulnerable component's security scope. The requirement for authenticated access with a specific role (PR:L) and user interaction (UI:R) somewhat limits exploitation, but in a healthcare environment where multiple staff members routinely access patient records, the user interaction barrier is easily overcome through normal workflows. Without EPSS or KEV data indicating active exploitation, and given the role-based access requirement, this represents a genuine risk that requires prioritization but is not yet demonstrating widespread exploitation. The healthcare context elevates the real-world severity due to the sensitivity of protected health information (PHI) and regulatory compliance requirements under HIPAA and similar frameworks.

Exploit ScenarioDerived

An authenticated attacker with the 'Notes - my encounters' role accesses a patient's encounter and fills out an Eye Exam form, inserting malicious JavaScript payloads into form answer fields such as visual acuity measurements or examination notes. When other healthcare providers or administrative staff with the same role view the patient's encounter page or visit history to review the examination results, the stored JavaScript executes in their browsers, potentially stealing session cookies, capturing keystrokes containing credentials, or performing unauthorized actions like modifying patient records under the victim's authenticated session. The low attack complexity and network accessibility make this readily exploitable by malicious insiders or compromised accounts.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Mar 25, 2026

A stored cross-site scripting (XSS) vulnerability exists in OpenEMR's Eye Exam form functionality that allows authenticated users with the 'Notes - my encounters' role to inject malicious JavaScript payloads through form answers. OpenEMR versions prior to 8.0.0.3 are affected. Attackers can execute arbitrary JavaScript in the browsers of other authenticated users when they view the compromised encounter pages or visit history, potentially leading to session hijacking, credential theft, or unauthorized actions within the EHR system.

RemediationAI

Upgrade OpenEMR to version 8.0.0.3 or later, which contains a patch addressing this stored XSS vulnerability (see commit at https://github.com/openemr/openemr/commit/f488efbe3eb7f17d0f057f960020cb611149f8a2 and advisory at https://github.com/openemr/openemr/security/advisories/GHSA-6ch2-p26g-x33h). Organizations unable to immediately upgrade should implement compensating controls including restricting assignment of the 'Notes - my encounters' role to only highly trusted users, implementing Content Security Policy (CSP) headers to limit JavaScript execution, and conducting audits of existing Eye Exam form entries for suspicious content. Deploy Web Application Firewall (WAF) rules to detect common XSS patterns in form submissions as a temporary defensive layer.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

OpenEMR (cpe:2.3:a:openemr:openemr:*:*:*:*:*:*:*:*) is an open-source electronic health records and medical practice management application widely deployed in healthcare settings. This vulnerability is classified under CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically a stored XSS variant. The flaw exists in the function responsible for displaying Eye Exam form answers within patient encounter pages. The application fails to properly sanitize or encode user-supplied input from form fields before rendering it in HTML contexts, allowing JavaScript injection. Because the payload is stored in the database and executed when retrieved, this represents a persistent XSS attack surface affecting all users with sufficient privileges to view the contaminated data.

Know when Openemr gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

GitHub Advisory PRIMARY 8.7 HIGH
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

DescriptionGitHub Advisory

OpenEMR is a free and open source electronic health records and medical practice management application. Users with the Notes - my encounters role can fill Eye Exam forms in patient encounters. The answers to the form are displayed on the encounter page and in the visit history for the users with the same role. Versions prior to 8.0.0.3 have a stored cross-site scripting (XSS) vulnerability in the function to display the form answers, allowing any authenticated attacker with the specific role to insert arbitrary JavaScript into the system by entering malicious payloads to the form answers. The JavaScript code is later executed by any user with the form role when viewing the form answers in the patient encounter pages or visit history. Version 8.0.0.3 contains a patch.

Executive ViewAI

Why It Matters

A stored cross-site scripting vulnerability in OpenEMR allows authenticated users to inject malicious code into patient encounter records, potentially compromising other users' sessions and enabling unauthorized access to sensitive health information. This directly threatens patient data confidentiality, system integrity, and regulatory compliance (HIPAA), affecting all organizations running vulnerable OpenEMR versions.

Business Impact: High
Compensating Controls

Restrict Eye Exam form access to minimal necessary staff; implement strict role-based access controls limiting 'Notes - my encounters' permissions; deploy Web Application Firewall (WAF) rules to detect and block JavaScript injection patterns in form submissions; enable comprehensive audit logging of all Eye Exam form activities; enforce Content Security Policy (CSP) headers to restrict inline script execution; segment EHR network access for high-risk users; disable form functionality entirely if operationally feasible until patch availability.

Threat Intelligence Overview

EPSS Score
0.0%
Top 91% exploitable
Data Quality
4 sources
Confidence: Medium
NVD CVE.org EPSS Vulnrichment GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

Affected Products (CPE)GitHub Advisory

cpe:2.3:a:openemr:openemr:*:*:*:*:*:*:*:*
CVE-2013-10044 HIGH POC
8.7 Aug 01

An authenticated SQL injection vulnerability exists in OpenEMR ≤ 4.1.1 Patch 14 that allows a low-privileged attacker to

CVE-2026-24898 CRITICAL POC
10.0 Mar 03

Unauthenticated token disclosure in OpenEMR before 8.0.0. CVSS 10.0. PoC and patch available.

CVE-2026-24848 CRITICAL POC
9.9 Mar 03

Path traversal in OpenEMR 7.0.4 disposeDocument() allows file access. PoC available.

CVE-2026-24849 CRITICAL POC
9.9 Feb 25

Path traversal in OpenEMR electronic health records before fix allows authenticated users to read arbitrary files on the

CVE-2026-24908 CRITICAL POC
9.9 Feb 25

SQL injection in OpenEMR electronic health records before fix. Authenticated users can execute arbitrary SQL through the

CVE-2024-22611 CRITICAL POC
9.8 Apr 03

OpenEMR 7.0.2 is vulnerable to SQL Injection via \openemr\library\classes\Pharmacy.class.php, \controllers\C_Pharmacy.cl

CVE-2024-37734 CRITICAL POC
9.8 Jun 26

An issue in OpenEMR 7.0.2 allows a remote attacker to escalate privileges viaa crafted POST request using the noteid par

CVE-2026-25146 CRITICAL POC
9.6 Mar 03

Information disclosure in OpenEMR 5.0.2 to before 8.0.0 exposes sensitive data. PoC and patch available.

CVE-2026-39932 CRITICAL POC
9.4 Aug 03

Remote code execution in OpenEMR through 8.2.0 lets an authenticated administrator poison the document category tree so

CVE-2012-0992 HIGH POC
8.5 Feb 07

interface/fax/fax_dispatch.php in OpenEMR 4.1.0 allows remote authenticated users to execute arbitrary commands via shel

CVE-2015-4453 MEDIUM
5.0 Jul 05

interface/globals.php in OpenEMR 2.x, 3.x, and 4.x before 4.2.0 patch 2 allows remote attackers to bypass authentication

CVE-2018-15152 CRITICAL POC
9.1 Aug 15

Authentication bypass vulnerability in portal/account/register.php in versions of OpenEMR before 5.0.1.4 allows a remote

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy