Openemr
CVE-2026-33931
MEDIUM
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Lifecycle Timeline
2DescriptionGitHub 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 patient portal payment page allows any authenticated portal patient to access other patients' payment records - including invoice/billing data (PHI) and payment card metadata - by manipulating the recid query parameter in portal/portal_payment.php. Version 8.0.0.3 patches the issue.
AnalysisAI
OpenEMR portal payment pages prior to version 8.0.0.3 expose other patients' protected health information (PHI) and payment card metadata through an Insecure Direct Object Reference vulnerability. Authenticated portal patients can manipulate the recid query parameter in portal/portal_payment.php to access arbitrary patient payment records and billing data without authorization. The vulnerability affects all versions before 8.0.0.3 and carries a CVSS score of 6.5 (high confidentiality impact); however, the 0.03% EPSS score indicates low real-world exploitation probability, and no public exploit code or active exploitation has been identified.
Technical ContextAI
The vulnerability exists in the OpenEMR patient portal payment processing module, specifically the portal/portal_payment.php script. It is a classic Insecure Direct Object Reference (IDOR) flaw classified under CWE-639, where application-controlled object references are exposed to end users without proper authorization checks. The affected product is OpenEMR (cpe:2.3:a:openemr:openemr:*:*:*:*:*:*:*:*), a PHP-based electronic health records and medical practice management system. The vulnerability stems from insufficient access control logic that fails to validate whether an authenticated user has permission to view the payment record associated with a given recid parameter, allowing horizontal privilege escalation within the patient portal context.
RemediationAI
Upgrade OpenEMR to version 8.0.0.3 or later as released by the vendor. This patch introduces proper access control validation in the portal payment page to verify that authenticated users can only access their own payment records. Organizations unable to upgrade immediately should implement network-level controls restricting patient portal access to known IP ranges and monitor access logs for suspicious recid parameter patterns. Additionally, conduct a forensic review of patient portal access logs prior to this patch to identify any unauthorized access to payment records, and notify affected patients per HIPAA breach notification requirements if unauthorized disclosure is confirmed.
An authenticated SQL injection vulnerability exists in OpenEMR ≤ 4.1.1 Patch 14 that allows a low-privileged attacker to
Unauthenticated token disclosure in OpenEMR before 8.0.0. CVSS 10.0. PoC and patch available.
Path traversal in OpenEMR 7.0.4 disposeDocument() allows file access. PoC available.
Path traversal in OpenEMR electronic health records before fix allows authenticated users to read arbitrary files on the
SQL injection in OpenEMR electronic health records before fix. Authenticated users can execute arbitrary SQL through the
OpenEMR 7.0.2 is vulnerable to SQL Injection via \openemr\library\classes\Pharmacy.class.php, \controllers\C_Pharmacy.cl
An issue in OpenEMR 7.0.2 allows a remote attacker to escalate privileges viaa crafted POST request using the noteid par
Information disclosure in OpenEMR 5.0.2 to before 8.0.0 exposes sensitive data. PoC and patch available.
interface/fax/fax_dispatch.php in OpenEMR 4.1.0 allows remote authenticated users to execute arbitrary commands via shel
interface/globals.php in OpenEMR 2.x, 3.x, and 4.x before 4.2.0 patch 2 allows remote attackers to bypass authentication
Authentication bypass vulnerability in portal/account/register.php in versions of OpenEMR before 5.0.1.4 allows a remote
OpenEMR 5.0.0 and prior allows low-privilege users to upload files of dangerous types which can result in arbitrary code
Same technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today