CVE-2026-102940: openemr · Insecure Direct Object Reference
Affects openemrSource CVE Database V5
Not known to be exploited · CVSS 9.6 Critical : upgrade to 8.4.0 as a priority.
Data as of 5 Nov 2026, 20:19 UTC
Thin evidence
One scorer or none| CNA (GitHub_M) | CVSS 3.1 | 9.6 |
|---|
- Patch
- Available – fixed in 8.4.0
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:NExploitation evidence
Disclosed: evidence found.
CVE published 5 Nov 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 5 Nov 2026.
What to do
Upgrade openemr to 8.4.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| openemropenemr | Affected
| Fixed in
|
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.
References
- github.com/openemr/openemr/security/advisories/GHSA-92rh-g949-4mvv (opens in a new tab)
- github.com/openemr/openemr/pull/13353 (opens in a new tab)
- github.com/openemr/openemr/commit/312b5d042f7fa49cc78ebed041155fba339a991c (opens in a new tab)
- github.com/openemr/openemr/releases/tag/v8_3_0 (opens in a new tab)