Description
OpenEMR before 8.3.0 contains an insecure direct object reference vulnerability in OnsitePortalActivityController::Update() that checks the request's patientId instead of the stored record's owner. Authenticated portal patients can send PUT requests to the onsiteportalactivity API with another patient's activity id and their own patientId to disclose tableArgs and checksum data, overwrite narratives and status, and take ownership of the record.
Published: 2026-11-08
Score: 8.6 High
EPSS: n/a
KEV: No
Impact: Unauthorized Access to Patient Records
Action: Immediate Patch
AI Analysis

Impact

The vulnerability is an insecure direct object reference in OnsitePortalActivityController::Update() that incorrectly validates the patientId from the request rather than the record owner. Authenticated portal patients can send PUT requests with another patient’s activity ID and their own patientId, enabling disclosure of sensitive internal data such as tableArgs and checksum. Attackers can also overwrite narratives and status fields, effectively taking ownership of the record.

Affected Systems

OpenEMR versions prior to 8.3.0, the open‑source electronic medical record system. Any installation that exposes the OnsitePortalActivityController Update API to portal users is vulnerable. The flaw impacts the portal activity API endpoint used by authenticated patients.

Risk and Exploitability

The CVSS score of 8.6 signals high severity. EPSS is not available, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is an authenticated network request; a malicious portal user must know or discover another patient’s activity ID to exploit it. Once compromised, an attacker can modify, hide, and take ownership of another patient’s record, posing a serious confidentiality and integrity risk.

Generated by OpenCVE AI on November 8, 2026 at 14:24 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade OpenEMR to version 8.3.0 or newer to apply the vendor fix for the IDOR issue.
  • If an upgrade cannot be performed immediately, disable or restrict the OnsitePortalActivityController Update endpoint for portal users so that only administrators can access it.
  • Review and reinforce the authorization logic in the OnsitePortalActivityController so that the record owner is verified, not the request’s patientId, and verify that changes are properly tested before deployment.

Generated by OpenCVE AI on November 8, 2026 at 14:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 08 Nov 2026 13:30:00 +0000

Type Values Removed Values Added
Description OpenEMR before 8.3.0 contains an insecure direct object reference vulnerability in OnsitePortalActivityController::Update() that checks the request's patientId instead of the stored record's owner. Authenticated portal patients can send PUT requests to the onsiteportalactivity API with another patient's activity id and their own patientId to disclose tableArgs and checksum data, overwrite narratives and status, and take ownership of the record.
Title OpenEMR before 8.3.0 IDOR via OnsitePortalActivityController Update Endpoint
First Time appeared Open-emr
Open-emr openemr
Weaknesses CWE-639
CPEs cpe:2.3:a:open-emr:openemr:*:*:*:*:*:*:*:*
Vendors & Products Open-emr
Open-emr openemr
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'}

cvssV4_0

{'score': 8.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Open-emr Openemr
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-11-08T13:15:39.588Z

Reserved: 2026-11-08T02:14:31.305Z

Link: CVE-2026-124447

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-08T14:18:11.803

Modified: 2026-11-08T14:18:11.803

Link: CVE-2026-124447

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-08T14:30:16Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key