Vulnerability · Published Nov 5, 2026 · Assigned by GitHub_M
CVE-2026-102940OpenEMR: Missing Write ACL Allows Unauthorized Document Reassignment
Critical 9.6
In plain English
A critical-severity authorization bypass via user-controlled key in openemr from openemr. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 39% of all known vulnerabilities).
Official 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.
Affected products (as reported)
Weakness: CWE-639 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
References
- https://github.com/openemr/openemr/security/advisories/GHSA-92rh-g949-4mvv x_refsource_CONFIRM
- https://github.com/openemr/openemr/pull/13353 x_refsource_MISC
- https://github.com/openemr/openemr/commit/312b5d042f7fa49cc78ebed041155fba339a991c x_refsource_MISC
- https://github.com/openemr/openemr/releases/tag/v8_3_0 x_refsource_MISC