Skip to main content

OpenEMR EUVDEUVD-2026-52349

| CVE-2026-67612 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-08-03 VulnCheck GHSA-rv29-9mq6-7j5q
4.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Recon
    Attacker obtains valid OpenEMR admin credentials
  2. Delivery
    Navigate to portal template management endpoint
  3. Exploit
    Save template with injected JavaScript payload
  4. Install
    Victim user loads poisoned template in browser
  5. C2
    Script reads unprotected document.cookie
  6. Execute
    Session token exfiltrated to attacker-controlled server
  7. Impact
    Attacker replays token to hijack victim session

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

Exploitation requires the attacker to hold a valid, authenticated OpenEMR administrator account (PR:H per CVSS 4.0) - this is the primary limiting condition, restricting the attacker pool to insiders or accounts compromised through a separate initial access vector. The attacker must have write access to the patient portal template management feature specifically; if this feature is disabled or role-restricted below full admin, exploitation is blocked. A victim user (admin, clinician, or portal patient) must load or preview the poisoned template in their browser (UI:P), which is a routine application workflow rather than a contrived action. The cookie exfiltration path further requires that OpenEMR session cookies lack the HttpOnly attribute - described as a confirmed condition in this vulnerability, but independently verifiable in the target deployment. No special network position is required; the application must simply be network-accessible (AV:N). What limits exploitation: valid admin credentials required; victim must actively access the poisoned template; HttpOnly enforcement on cookies would block the specific session-theft chain described (though XSS payload execution would still occur).

Impact

The CVSS 4.0 score of 4.8 (AV:N/AC:L/AT:N/PR:H/UI:P/SC:L/SI:L) accurately captures the constrained attack surface: exploitation requires valid administrator credentials (PR:H) and passive victim interaction - a user must load the poisoned template (UI:P). These two requirements meaningfully limit opportunistic mass exploitation. However, the real-world impact in a healthcare context exceeds what the numeric score conveys: OpenEMR stores protected health information (PHI), and a hijacked clinician or administrator session provides unauthorized access to patient records, prescriptions, and billing data - a HIPAA-reportable breach. The PR:H prerequisite presupposes insider threat or a separately compromised admin account, both realistic in healthcare environments. No EPSS score was provided in the input data. Active exploitation is not confirmed in CISA KEV, but a public researcher writeup and VulnCheck-confirmed POC meaningfully lower exploitation effort for targeted attacks. The missing HttpOnly cookie attribute is a compounding misconfiguration that amplifies the XSS impact - without it, the cookie theft chain can be severed as a compensating control even if payload execution occurs.

Exploit ScenarioDerived

A malicious or compromised OpenEMR administrator navigates to the patient portal template editor, saves a template containing a JavaScript payload that reads document.cookie and transmits the value via an out-of-band HTTP request to an attacker-controlled server. Any clinician, admin, or portal patient who subsequently loads or previews the poisoned template executes the script silently in their browser, with their session token captured and replayed by the attacker to assume full authenticated access. A step-by-step public proof-of-concept is available at jivasecurity.com, making this technique accessible to non-specialist attackers against confirmed vulnerable instances.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 03, 2026

Stored cross-site scripting in OpenEMR's patient portal template system (through version 8.2.0) allows authenticated administrators to inject persistent JavaScript payloads that execute in the browsers of any admin, clinician, or portal patient who views a poisoned template. The combination of absent output encoding at the template retrieval endpoint and missing HttpOnly attributes on session cookies enables direct document.cookie exfiltration, resulting in full session hijacking of privileged healthcare accounts. No public exploit identified in CISA KEV, but a publicly available proof-of-concept and detailed researcher writeup (VulnCheck / jivasecurity.com) significantly lower the bar for exploitation in targeted scenarios.

RemediationAI

No vendor-released patch version has been confirmed in the available data - organizations should monitor the official OpenEMR release channel and GitHub repository for a fix and apply it immediately upon release. As compensating controls pending a patch: enforce HttpOnly and Secure flags on session cookies by setting session.cookie_httponly = 1 and session.cookie_secure = 1 in php.ini or OpenEMR's session configuration - this severs the cookie-exfiltration chain even if XSS payloads execute, though it does not eliminate the underlying injection. Deploy a Content Security Policy (CSP) response header that disallows inline script execution (script-src 'self') to further limit XSS impact, noting this may break legitimate OpenEMR UI functionality and requires testing. Restrict access to the template management endpoint to the smallest feasible set of trusted administrator accounts and review audit logs for unauthorized template modifications. Advisory references: https://www.vulncheck.com/advisories/openemr-stored-xss-via-import-template-php-template-management and https://jivasecurity.com/writeups/openemr-portal-template-stored-xss.

Affected VersionsENISA

OpenEMR 0 ≤8.2.0

Affected Packages

euvd openemr no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

OpenEMR is a widely used open-source electronic health records (EHR) and practice management application built on PHP, covering the full CPE range cpe:2.3:a:openemr:openemr:*:*:*:*:*:*:*:* through version 8.2.0. The vulnerable component is the patient portal template management system - the template save endpoint applies only a blocklist filter for literal PHP open tags (<?php), leaving HTML event handlers, <script> blocks, javascript: URI schemes, and similar injection vectors fully unblocked. CWE-79 (Improper Neutralization of Input During Web Page Generation) identifies the root cause: attacker-controlled template content is stored to the database and later rendered to victim browsers without output encoding or contextual escaping. The compounding weakness is the absence of the HttpOnly attribute on OpenEMR session cookies, which allows JavaScript executing in the page context to read document.cookie directly, converting a stored XSS into a reliable session-hijacking primitive against high-value healthcare accounts.

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

Vendor (VulnCheck) PRIMARY 4.8 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
vuln.today AI 4.8 MEDIUM

PR:H for required admin credentials; S:C because stored XSS impacts users beyond the injecting admin's own session; no availability impact.

3.1 AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

DescriptionCVE.org

OpenEMR through 8.2.0 contains a stored cross-site scripting vulnerability in the patient portal template system that allows authenticated administrators to inject arbitrary HTML and JavaScript by storing malicious payloads through the template save mode, which only filters literal PHP open tags. Attackers can exploit the lack of output encoding at the template retrieval endpoint combined with missing HttpOnly cookie attributes to exfiltrate session tokens via document.cookie access, enabling full session hijacking of any admin, clinician, or portal patient who views a poisoned template.

Threat Intelligence Overview

EPSS Score
0.1%
Top 95% exploitable
Prevalence
Medium
widely used open-source EHR across smaller clinics globally
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: +20
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.

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