Description
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.
Published: 2026-11-05
Score: 9.6 Critical
EPSS: n/a
KEV: No
Impact: Unauthorized Document Reassignment
Action: Immediate Patch
AI Analysis

Impact

OpenEMR’s document handling code lacked proper authorization checks before reassigning documents to different patients or categories. A legitimate user with only low‑privilege rights could trigger a reassignment operation, thereby attaching a document to a patient or category that the user could access. After reassignment the document could be retrieved through normal read paths, effectively bypassing the system’s intended access controls. The flaw is a classic example of an authority/privilege escalation weakness (CWE‑639) and could lead to confidential medical information being accessed by unauthorized users.

Affected Systems

The issue affects the openemr:openemr product in all releases prior to version 8.4.0. Any installation running those earlier releases is susceptible unless remediation has been applied. Version 8.4.0 and later include a fix that validates the caller’s permissions before performing the reassignment.

Risk and Exploitability

The vulnerability receives a CVSS score of 9.6, indicating critical severity, and its EPSS score is not available, suggesting no published exploit data yet. It is not listed in the CISA KEV catalog. The likely attack vector is an authenticated web application interaction, where a low‑privilege user must be able to invoke the move_action_process endpoint. Successful exploitation would bypass a later HTTP 403 check, granting excessive access without detection unless logs are closely monitored.

Generated by OpenCVE AI on November 5, 2026 at 21:21 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to OpenEMR 8.4.0 or later, which implements the missing authorization check during document reassignment.
  • Restrict the move_action_process functionality by applying least‑privilege role definitions, ensuring that only administrators or users with explicit reassignment rights can invoke it.
  • Continuously monitor audit logs for unexpected document reassignment events and enforce alerting on anomalies to detect potential abuse early.

Generated by OpenCVE AI on November 5, 2026 at 21:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 05 Nov 2026 20:15: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.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.
Title OpenEMR: Missing Write ACL Allows Unauthorized Document Reassignment
Weaknesses CWE-639
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-05T21:02:33.527Z

Reserved: 2026-09-29T20:24:43.341Z

Link: CVE-2026-102940

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-05T20:17:37.543

Modified: 2026-11-05T21:18:34.653

Link: CVE-2026-102940

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-05T21:30:17Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key