Read the docs
TI-2026-85645 Aliases CVE-2026-102940

Missing write ACL lets users reassign documents in OpenEMR

Priority HIGH 76CWE-639Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-639.

Summary

OpenEMR before 8.4.0 has an authorization flaw in its document write actions (CWE-639). The move_action_process() function does not check the caller's access to the source document, its current or destination patient, or its category before changing the document's patient. A low-privilege authenticated user can reassign any document to a patient or category they can access, then read it through the normal read path.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

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, current patient and category, or destination patient and category before Document::change_patient() performs the mutation. A low-privilege authenticated user can reassign an arbitrary document to a patient or category the user can access and then retrieve it through the normally protected read path. The reassignment occurs before a later list rendering check, so a final HTTP 403 response does not mean the unauthorized write was blocked. This issue is fixed in version 8.4.0.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00444 38th percentileScored 2026-11-07
Fix Fixed openemr (openemr): 8.4.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
openemropenemrbefore 8.4.08.4.0Patch availableCNA
  • openemr Vendoropenemr Affected before 8.4.0 Fixed in 8.4.0 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:open-emr:openemr:*:*:*:*:*:*:*:*——Open-Emr
  • cpe:2.3:a:open-emr:openemr:*:*:*:*:*:*:*:* Versions — — ·Open-Emr

Remediation

OpenEMR fixed this in version 8.4.0.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA openemr (openemr) Fixed in 8.4.0

Timeline

  1. 2026-11-05 Threatist record created from CVE-2026-102940
  2. 2026-11-05 CISA SSVC decision points changed
  3. 2026-11-05 Priority changed: MEDIUM → HIGH

References

  • TI-2026-24664 SQL Injection Vulnerability in ajax graphs library (OpenEMR) CVSS 3.1HIGH 8.8
  • TI-2026-28796 OpenEMR 8.2.0 Remote Code Execution via CategoryTree eval() Injection CVSS 4.0CRITICAL 9.4
  • TI-2026-20308 OpenEMR's payments gateway_api_key secret rendered into client JS code CVSS 3.1CRITICAL 9.6
  • TI-2026-20093 OpenEMR has SQL Injection in Patient API Sort Parameter CVSS 3.1CRITICAL 10.0
  • TI-2026-20048 OpenEMR Arbitrary File Read Vulnerability CVSS 3.1CRITICAL 10.0
  • TI-2020-10645 SQL injection in OpenEMR CVSS 3.1CRITICAL 9.8
See all 153 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences