Skip to main content

Openemr CVE-2026-32120

MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-03-25 GitHub_M
6.5
CVSS 3.1 · GitHub Advisory
View

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Impact

The CVSS 3.1 vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N) indicates this vulnerability requires network access and low attack complexity with low privileges (authenticated user with fee sheet ACL), resulting in high integrity impact but no confidentiality or availability impact—a realistic score of 6.5 for data tampering. The real-world risk is elevated by several factors: (1) the vulnerability requires only basic authentication and ACL permissions, not advanced privilege escalation; (2) the attack is completely automatable with no user interaction needed; (3) the technical impact is significant in healthcare contexts where drug sales records directly affect patient safety, billing accuracy, and audit trails; (4) a confirmed patch exists in version 8.0.0.3, indicating the vendor has validated the fix. However, the lack of confirmed public POC code or KEV designation suggests this vulnerability is not currently being actively exploited at scale. For healthcare organizations, this should be treated as a high operational priority due to the sensitive nature of the data and regulatory compliance implications (HIPAA), despite the moderate CVSS score.

Exploit ScenarioDerived

A disgruntled clinic staff member with fee sheet ACL permissions could systematically enumerate sale_id values and modify or delete drug sales records across multiple patients' encounters to inflate their own sales commissions or disrupt competitor staff metrics. Alternatively, an attacker with initial access as an authenticated low-privilege user could escalate impact by modifying high-value drug sales records to artificially increase inventory costs or create billing discrepancies. The attack requires no user interaction, can be fully automated via direct HTTP requests with manipulated form parameters, and leaves evidence only if detailed audit logging of the prod[][sale_id] field changes is enabled. Given the low attack complexity and low privilege requirement, any authenticated user with fee sheet ACL—including temporary staff or contractors—represents an exploitation vector.

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

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

Alert me

AnalysisAIv1 – Mar 25, 2026

An Insecure Direct Object Reference (IDOR) vulnerability exists in OpenEMR versions prior to 8.0.0.3 within the fee sheet product save logic that allows authenticated users with fee sheet ACL permissions to arbitrarily read, modify, or delete drug_sales records belonging to any patient by manipulating the hidden prod[][sale_id] form field. The vulnerability stems from insufficient authorization checks in the FeeSheet.class.php library, where user-supplied sale_id values are used directly in SQL queries without verifying ownership of the record to the current patient and encounter. With a CVSS score of 6.5 and confirmed patch availability in version 8.0.0.3, this represents a moderate-severity data integrity and confidentiality risk affecting healthcare data.

RemediationAI

Immediately upgrade OpenEMR to version 8.0.0.3 or later, which contains the authoritative patch that adds proper ownership verification to the FeeSheet.class.php save() method. Apply the specific patch from commit c5b4dd8caf2af70617cc58d39188621ed90543dc if immediate full upgrade is not feasible. As a temporary compensating control pending patching, restrict fee sheet ACL access to only trusted administrative users and implement detailed audit logging of all fee sheet modifications including sale_id changes. Network-level segmentation should ensure OpenEMR is only accessible to authorized staff via VPN or internal networks. Review audit logs for any suspicious fee sheet modifications that may indicate prior exploitation, particularly cross-patient or cross-encounter drug sales record changes. After patching, conduct a full audit of drug_sales records to detect any unauthorized modifications.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

The vulnerability resides in the OpenEMR application (cpe:2.3:a:openemr:openemr:*:*:*:*:*:*:*:*), specifically within the library/FeeSheet.class.php file's save() method. OpenEMR is a PHP-based electronic health records and medical practice management system. The root cause is classified under CWE-639 (Authorization Bypass Through User-Controlled Key), where the application fails to enforce proper authorization boundaries at the object level. The save() method processes five SQL queries (SELECT, UPDATE, DELETE operations) that directly incorporate user-controlled sale_id parameters from hidden form fields without server-side validation that the sale_id belongs to the authenticated user's current patient context or encounter. This is a classic IDOR vulnerability where the indirect reference (sale_id) can be enumerated or manipulated to access records outside the user's intended authorization scope.

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

GitHub Advisory PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

DescriptionGitHub Advisory

OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0.3, an Insecure Direct Object Reference (IDOR) vulnerability in the fee sheet product save logic (library/FeeSheet.class.php) allows any authenticated user with fee sheet ACL access to delete, modify, or read drug_sales records belonging to arbitrary patients by manipulating the hidden prod[][sale_id] form field. The save() method uses the user-supplied sale_id in five SQL queries (SELECT, UPDATE, DELETE) without verifying that the record belongs to the current patient and encounter. Version 8.0.0.3 contains a patch.

Executive ViewAI

Why It Matters

Organizations using OpenEMR should be aware of notable risk from CVE-2026-32120, a IDOR vulnerability rated CVSS 6.5. Exploitation could compromise the security of affected deployments. Organizations should apply vendor updates when available and monitor for exploitation.

Business Impact: Moderate
Compensating Controls

Apply vendor patch. If patching is delayed: restrict network access and enable monitoring.

Threat Intelligence Overview

EPSS Score
0.0%
Top 93% exploitable
Data Quality
4 sources
Confidence: Medium
NVD CVE.org EPSS Vulnrichment GitHub

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 No
EPSS 0.0%
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

Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Affected Products (CPE)GitHub Advisory

cpe:2.3:a:openemr:openemr:*:*:*:*:*:*:*:*
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