What’s Vulnerable › Vulnerabilities
CVE-2026-25147: OpenEMR's Portal Payment Endpoint Trusts User-Controlled pid
- Severity: high (CVSS 7.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-02-27 · updated 2026-06-17
- Weakness: CWE-639
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.
Affected products
- openemr: before 8.0.0 — fixed in 8.0.0
How to fix
Upgrade to a fixed version: openemr 8.0.0. Check the vendor advisory for mitigations.
References
- https://github.com/openemr/openemr/commit/d6ab3cd0b621b19b942cf49d2db2026e288aa214
- https://github.com/openemr/openemr/security/advisories/GHSA-mwmw-qxv3-8whh
Get alerted when CVE-2026-25147 or the next vulnerability affects your stack