Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDiscover network-accessible OpenEMR FHIR instance
-
DeliveryPOST self-generated RSA jwks to unauthenticated /oauth2/registration with system FHIR scopes
-
ExploitSocial-engineer or wait for admin to approve registered client
-
ExecutionUse client_credentials grant with self-signed JWT assertion
-
PersistReceive access token with system-level FHIR authorization
-
ImpactExfiltrate all patient health records via FHIR API
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target OpenEMR deployment has the FHIR API and OAuth2 dynamic client registration enabled - a configuration increasingly present by default in OpenEMR 7.x and 8.x to satisfy 21st Century Cures Act interoperability mandates. The single mandatory prerequisite that limits full exploitation is administrator approval of the registered OAuth2 client: without this action (captured as UI:P in the CVSS 4.0 vector), the attacker cannot progress to token issuance. No authentication to OpenEMR is required for the initial registration step. Exploitation is bounded to versions through 8.2.0. Limiting factors include: the attacker must be able to reach the registration endpoint over the network, the social engineering or wait for admin approval introduces latency and detection opportunity, and the attack is limited to systems with FHIR/OAuth2 features actively enabled rather than disabled or firewalled. |
| Impact | The CVSS 4.0 score of 8.6 (AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N) accurately characterizes the risk profile: network-accessible, low-complexity, requiring no prior privileges, but gated on a single human approval step (UI:P) that serves as the only meaningful friction. Healthcare administrators routinely approve third-party FHIR client registrations for interoperability workflows, making social engineering or simply waiting a realistic attack path rather than a blocking obstacle. The impact is severe - full read (and potentially write) access to all patient FHIR data across the entire deployment, implicating HIPAA-regulated PHI. A publicly available proof-of-concept writeup from JivaSecurity confirms technical feasibility. The CVE is not listed in CISA KEV at time of analysis, so mass exploitation has not been confirmed, but POC availability substantially lowers the barrier for opportunistic attackers. The UI:P dependency is the primary reason this is not rated higher - without admin approval, the attacker is stalled. EPSS data was not provided; given the POC and healthcare sector targeting attractiveness, real-world exploitation risk should be treated as elevated even without KEV confirmation. |
| Exploit ScenarioDerived | An attacker discovers a publicly accessible OpenEMR instance, sends a crafted unauthenticated POST to the dynamic client registration endpoint embedding a self-generated RSA public key in the jwks field along with claimed system/*.read FHIR scopes, then submits a legitimate-looking integration request to the practice's IT administrator. The administrator, following routine FHIR app approval procedures, approves the client in the OpenEMR admin panel; the attacker then immediately uses the client_credentials grant with a JWT signed by the corresponding private key to obtain a bearer token and bulk-queries FHIR endpoints to exfiltrate complete patient demographic, clinical, and billing records. A public technical writeup from JivaSecurity confirms this full attack path is viable. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 03, 2026
Unauthenticated OAuth2 dynamic client registration in OpenEMR through 8.2.0 allows any network attacker to self-register a malicious OAuth2 client with system-level FHIR scopes by supplying a self-generated RSA keypair in the jwks field, bypassing all access controls on a critical endpoint. Once an OpenEMR administrator approves the registered client - a step that healthcare staff routinely perform for EHR interoperability integrations - the attacker authenticates via the client_credentials grant using a self-signed JWT and obtains access tokens covering all FHIR resources across every patient in the system. A publicly available proof-of-concept exploit and technical writeup from JivaSecurity confirm the attack chain; this CVE is not currently in CISA KEV but carries an 8.6 CVSS 4.0 score and exposes PHI at scale.
RemediationAI
No vendor-released patch version has been confirmed in available references at time of analysis; organizations should monitor the official OpenEMR repository and the VulnCheck advisory (https://www.vulncheck.com/advisories/openemr-oauth2-dynamic-client-registration-unauthorized-fhir-access) for a remediated release. As an immediate compensating control, restrict or block unauthenticated external access to the OAuth2 dynamic client registration endpoint (/oauth2/{site}/registration) at the perimeter firewall or web server layer - this eliminates the attack surface without disrupting access tokens already issued to legitimate registered clients, though it will prevent new client onboarding until patched. Administrators should immediately audit all registered OAuth2 clients in the OpenEMR admin panel, revoking any clients with unrecognized names, unexpected system-level FHIR scopes, or jwks entries not corresponding to known integrations. Disabling dynamic client registration entirely and enforcing a manual out-of-band registration workflow is a stronger permanent control with minimal operational cost for most practices. Implementing strict admin-review procedures with verification of requester identity before approving any new OAuth2 client registration reduces the social engineering risk while a patch is pending.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
OpenEMR implements the OAuth2 Dynamic Client Registration Protocol (RFC 7591) to support FHIR R4 API access, a requirement increasingly mandated by regulations such as the 21st Century Cures Act for healthcare data interoperability. The root cause is CWE-306 (Missing Authentication for Critical Function): the registration endpoint accepts unauthenticated POST requests that include a self-supplied JSON Web Key Set (jwks) and arbitrary requested FHIR scopes such as system/*.read or system/*.write. OpenEMR stores the attacker-controlled public key without gating registration on any pre-authorization token. When the client_credentials grant is later used with a private key JWT assertion per RFC 7523, the authorization server validates the JWT against the stored attacker-supplied public key - meaning the attacker's self-generated keypair becomes the trust anchor. The affected product is cpe:2.3:a:openemr:openemr:*:*:*:*:*:*:*:*, covering all releases through 8.2.0.
Know when Openemr gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
No privileges needed to register the client (PR:N), but admin approval before token issuance maps to UI:R; full cross-patient FHIR data exposure warrants C:H/I:H with no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
OpenEMR through 8.2.0 contains an improper authentication vulnerability in the OAuth2 dynamic client registration endpoint that allows unauthenticated attackers to register a malicious client with system-level FHIR scopes by supplying a self-generated RSA keypair via the jwks field. Once an administrator approves the registered client, attackers can use the client_credentials grant with a self-signed JWT assertion to obtain access tokens granting read access to all FHIR resources across all patients in the system.
Executive ViewAI
OpenEMR versions 8.2.0 and earlier contain an unauthenticated OAuth2 registration flaw with publicly available exploit code. Attackers can register malicious applications and access all patient records once an administrator approves the registration-a routine interoperability integration step-creating severe exposure of the organization's complete PHI dataset and regulatory reporting risk.
No vendor-released patch identified at time of analysis. Interim mitigations: disable or restrict OAuth2 dynamic client registration to authenticated administrators only; require separate security team approval for all new client registrations; implement firewall rules blocking external access to the registration endpoint; enforce minimum necessary FHIR scopes per authorized client; enable comprehensive audit logging for OAuth2 registration and token events; conduct monthly log analysis for exploitation indicators.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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.
Remote code execution in OpenEMR through 8.2.0 lets an authenticated administrator poison the document category tree so
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
EUVD-2026-52347
GHSA-7h45-2j8g-37rm
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB