OpenEMR: Insecure direct object reference in OnsitePortalActivityController (CVE-2026-124447)
OpenEMR versions prior to 8.3.0 contain an Insecure Direct Object Reference vulnerability in the OnsitePortalActivityController::Update() function that allows authenticated portal patients to access, modify, and assume ownership of records belonging to other patients.
CVE search metadata
CVE search record: CVE-2026-124447. Severity: high. CVSS: 8.1. KEV: no. Product: OpenEMR (< 8.3.0). Brief: OpenEMR: Insecure direct object reference in OnsitePortalActivityController (CVE-2026-124447). Brief link: https://feed.craftedsignal.io/briefs/2026-11-openemr-idor/
Triage facts
Revision 1- Applicability
- OpenEMR (< 8.3.0)
- Evidence
- Unknown
- Severity
- High
- Action
- Elevated
- Sources
- 1 public source
- Freshness
- Revision 1Nov 8, 15:31 UTC
- Vulnerabilities
- 1 CVE
- Source quality
- A1Likely
OpenEMR versions before 8.3.0 are susceptible to an Insecure Direct Object Reference (IDOR) vulnerability located in the OnsitePortalActivityController::Update() function. The application fails to validate whether the authenticated patient ID matches the record owner ID. An attacker with a valid patient portal account can manipulate PUT requests to the onsiteportalactivity API by specifying arbitrary activity IDs alongside their own patient ID. This leads to the unauthorized disclosure of tableArgs and checksum data, as well as the ability to overwrite activity narratives and status, effectively allowing the attacker to assume ownership of another patient's medical activity records.
Impact
Successful exploitation allows unauthorized disclosure of sensitive medical activity data, modification of existing record narratives and status fields, and account-level record takeover within the OpenEMR patient portal.
Recommendation
- Upgrade OpenEMR to version 8.3.0 or later to include the fix for CVE-2026-124447.
- Audit web server logs for suspicious PUT requests to the
onsiteportalactivityAPI endpoint, specifically monitoring for instances where the authenticated user ID is linked to record IDs that do not belong to that session context.
Immediate actions
Upgrade OpenEMR to version 8.3.0 or later.
Threat Hunt
Identify anomalies in API request patterns to the OnsitePortalActivityController, specifically looking for users successfully modifying records that do not align with their expected patient ID or session history.
Data: Web server access logs, OpenEMR application/audit logs
Mitigations
Upgrade to OpenEMR 8.3.0
CVE-2026-124447