High severity · published Feb 27, 2026
CVE-2026-25147
OpenEMR's Portal Payment Endpoint Trusts User-Controlled pid
7.1
CVSS
0.3%
EPSS
No
On KEV
Description
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0, in `portal/portal_payment.php`, the patient id used for the page is taken from the request (`$pid = $_REQUEST['pid'] ?? $pid` and `$pid = ($_REQUEST['hidden_patient_code'] ?? null) > 0 ? $_REQUEST['hidden_patient_code'] : $pid`) instead of being fixed to the authenticated portal user. The portal session already has a valid `$pid` for the logged-in patient. Overwriting it with user-supplied values and using it without authorization allows a portal user to view and interact with another patient's demographics, invoices, and payment history—horizontal privilege escalation and IDOR. Version 8.0.0 contains a fix for the issue.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
Attack vector
Network
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
Low
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 16% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
OP
openemr · openemr
< 8.0.0 · source: vendor, NVD
Affected product
OP
openemr
openemr
More from openemr
9.9
CVE-2026-24848
OpenEMR Arbitrary File Write leading to Remote Code Execution
9.8
CVE-2026-24898
OpenEMR has an Unauthenticated MedEx Token Disclosure
9.8
CVE-2024-37734
An issue in OpenEMR 7.0.2 allows a remote attacker to escalate privileges viaa crafted POST request using the noteid parameter
9.1
CVE-2026-39932
OpenEMR 8.2.0 Remote Code Execution via CategoryTree eval() Injection
9.1
CVE-2026-32238
OpenEMR has Remote Code Execution in backup functionality