Vulnerability Details CVE-2026-32120
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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.0
EPSS Ranking 6.8%
CVSS Severity
CVSS v3 Score 6.5
Products affected by CVE-2026-32120
-
cpe:2.3:a:open-emr:openemr:-
-
cpe:2.3:a:open-emr:openemr:2.0.1.2
-
cpe:2.3:a:open-emr:openemr:2.7
-
cpe:2.3:a:open-emr:openemr:2.7.1
-
cpe:2.3:a:open-emr:openemr:2.7.2
-
cpe:2.3:a:open-emr:openemr:2.7.3
-
cpe:2.3:a:open-emr:openemr:2.8.0
-
cpe:2.3:a:open-emr:openemr:2.8.1
-
cpe:2.3:a:open-emr:openemr:2.8.2
-
cpe:2.3:a:open-emr:openemr:2.8.3
-
cpe:2.3:a:open-emr:openemr:2.9.0
-
cpe:2.3:a:open-emr:openemr:3.0.0
-
cpe:2.3:a:open-emr:openemr:3.0.1
-
cpe:2.3:a:open-emr:openemr:3.1.0
-
cpe:2.3:a:open-emr:openemr:3.2.0
-
cpe:2.3:a:open-emr:openemr:4.0.0
-
cpe:2.3:a:open-emr:openemr:4.1.0
-
cpe:2.3:a:open-emr:openemr:4.1.1
-
cpe:2.3:a:open-emr:openemr:4.1.2
-
cpe:2.3:a:open-emr:openemr:4.1.2.3
-
cpe:2.3:a:open-emr:openemr:4.1.2.6
-
cpe:2.3:a:open-emr:openemr:4.1.2.7
-
cpe:2.3:a:open-emr:openemr:4.2.0
-
cpe:2.3:a:open-emr:openemr:4.2.0.3
-
cpe:2.3:a:open-emr:openemr:4.2.1
-
cpe:2.3:a:open-emr:openemr:4.2.2
-
cpe:2.3:a:open-emr:openemr:5.0.0
-
cpe:2.3:a:open-emr:openemr:5.0.0.5
-
cpe:2.3:a:open-emr:openemr:5.0.0.6
-
cpe:2.3:a:open-emr:openemr:5.0.1
-
cpe:2.3:a:open-emr:openemr:5.0.1-6
-
cpe:2.3:a:open-emr:openemr:5.0.1.1
-
cpe:2.3:a:open-emr:openemr:5.0.1.2
-
cpe:2.3:a:open-emr:openemr:5.0.1.3
-
cpe:2.3:a:open-emr:openemr:5.0.1.4
-
cpe:2.3:a:open-emr:openemr:5.0.1.5
-
cpe:2.3:a:open-emr:openemr:5.0.1.6
-
cpe:2.3:a:open-emr:openemr:5.0.1.7
-
cpe:2.3:a:open-emr:openemr:5.0.2
-
cpe:2.3:a:open-emr:openemr:5.0.2.1
-
cpe:2.3:a:open-emr:openemr:5.0.2.2
-
cpe:2.3:a:open-emr:openemr:5.0.2.3
-
cpe:2.3:a:open-emr:openemr:5.0.2.4
-
cpe:2.3:a:open-emr:openemr:5.0.2.5
-
cpe:2.3:a:open-emr:openemr:6.0.0
-
cpe:2.3:a:open-emr:openemr:6.0.0.1
-
cpe:2.3:a:open-emr:openemr:6.0.0.2
-
cpe:2.3:a:open-emr:openemr:6.0.0.3
-
cpe:2.3:a:open-emr:openemr:6.0.0.4
-
cpe:2.3:a:open-emr:openemr:6.1.0
-
cpe:2.3:a:open-emr:openemr:6.1.0.1
-
cpe:2.3:a:open-emr:openemr:7.0.0
-
cpe:2.3:a:open-emr:openemr:7.0.0.1
-
cpe:2.3:a:open-emr:openemr:7.0.0.2
-
cpe:2.3:a:open-emr:openemr:7.0.1
-
cpe:2.3:a:open-emr:openemr:7.0.1.1
-
cpe:2.3:a:open-emr:openemr:7.0.2
-
cpe:2.3:a:open-emr:openemr:7.0.2.1
-
cpe:2.3:a:open-emr:openemr:7.0.2.2
-
cpe:2.3:a:open-emr:openemr:7.0.2.3
-
cpe:2.3:a:open-emr:openemr:7.0.3
-
cpe:2.3:a:open-emr:openemr:7.0.3.1
-
cpe:2.3:a:open-emr:openemr:7.0.3.2
-
cpe:2.3:a:open-emr:openemr:7.0.3.3
-
cpe:2.3:a:open-emr:openemr:7.0.3.4
-
cpe:2.3:a:open-emr:openemr:7.0.4
-
cpe:2.3:a:open-emr:openemr:7.3.0
-
cpe:2.3:a:open-emr:openemr:8.0.0