{"id":"CVE-2026-124482","kind":"vulnerability","aliases":["CVE-2026-124482"],"related":[],"title":"OpenEMR: low-privilege SMART users can read any patient's records","description":"OpenEMR before 8.4.0 contains an authorization bypass allowing low-privileged SMART standalone-launch users to bind arbitrary patient UUIDs into the OAuth token context. Attackers with only the patients|demo ACL can select a victim during authorization and read that patient's clinical notes and documents through patient-scoped DocumentReference and Binary FHIR endpoints.","summary":"OpenEMR before 8.4.0 lets a low-privileged SMART standalone-launch user bind an arbitrary patient UUID into an OAuth token. The attacker then reads that patient's clinical notes and documents through the FHIR DocumentReference and Binary endpoints.","severity":"high","cvss":7.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["fhir","healthcare","openemr","runtime","self-hosted"],"not_affected_if":["no-smart-standalone-launch","openemr-8.4.0-or-later"],"how_to_check":"- Check the OpenEMR version in the installed application; versions before `8.4.0` are affected.\n- Confirm whether SMART on FHIR standalone launch is enabled for your OpenEMR instance.","fix":"- OpenEMR `8.4.0` (the first version not affected, per the vendor advisory reference).","status":"open","published_at":"2026-11-08T14:18:17+00:00","first_seen_at":"2026-11-08T14:48:41+00:00","triaged_at":"2026-11-08T14:49:29+00:00","updated_at":"2026-11-08T14:49:29+00:00","category":"runtime","confidence":0.7,"triage":{"at":"2026-11-08T14:49:29Z","model":"claude-haiku-5-5","output":{"fix":"- OpenEMR `8.4.0` (the first version not affected, per the vendor advisory reference).","reach":"network","title":"OpenEMR: low-privilege SMART users can read any patient's records","impact":"high","summary":"OpenEMR before 8.4.0 lets a low-privileged SMART standalone-launch user bind an arbitrary patient UUID into an OAuth token. The attacker then reads that patient's clinical notes and documents through the FHIR DocumentReference and Binary endpoints.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["openemr","healthcare","fhir","self-hosted"],"confidence":0.7,"fix_status":"available","needs_auth":"yes","worst_case":"Attacker reads any patient's clinical notes and documents.","analyst_note":"Confirm the SMART standalone-launch precondition and the exact fixed-version statement at the GitHub vendor advisory linked in the sources.","how_to_check":"- Check the OpenEMR version in the installed application; versions before `8.4.0` are affected.\n- Confirm whether SMART on FHIR standalone launch is enabled for your OpenEMR instance.","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["openemr-8.4.0-or-later","no-smart-standalone-launch"],"who_is_affected":"Organizations running OpenEMR before 8.4.0 with SMART on FHIR standalone launch that have users holding the patients|demo ACL. Attackers need that low-privileged account first; the sources do not say whether the flaw is reachable without SMART apps configured.","user_interaction":"unknown","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.00077,"input_tokens":4628,"output_tokens":614,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-124482':15A,18A '-2026':14A,17A '8.4.0':28B,68C 'acl':98C 'allow':73C 'arbitrari':41B,84C 'attack':49B,92C 'author':71C,104C 'binari':64B,120C 'bind':39B,83C 'bypass':72C 'clinic':55B,110C 'contain':69C 'context':91C 'cve':13A,16A 'demo':97C 'document':58B,113C 'documentrefer':62B,118C 'endpoint':65B,122C 'fhir':19B,61B,121C 'healthcar':20B 'host':25B 'launch':37B,80C 'let':29B 'low':3A,32B,75C 'low-privileg':2A,31B,74C 'note':56B,111C 'oauth':46B,89C 'openemr':1A,21B,26B,66C 'patient':10A,42B,53B,85C,96C,108C,116C 'patient-scop':115C 'privileg':4A,33B,76C 'read':8A,51B,106C 'record':12A 'runtim':22B 'scope':117C 'select':100C 'self':24B 'self-host':23B 'smart':5A,34B,77C 'standalon':36B,79C 'standalone-launch':35B,78C 'token':47B,90C 'user':6A,38B,81C 'uuid':43B,86C 'victim':102C","nicknames":[],"mitigations":[],"who_affected":"Organizations running OpenEMR before 8.4.0 with SMART on FHIR standalone launch that have users holding the patients|demo ACL. Attackers need that low-privileged account first; the sources do not say whether the flaw is reachable without SMART apps configured.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["fhir","healthcare","high","openemr","runtime","selfhosted"],"campaign_type":null,"search_a":"'-124482':15A,18A '-2026':14A,17A 'cve':13A,16A 'low':3A 'low-privileg':2A 'openemr':1A 'patient':10A 'privileg':4A 'read':8A 'record':12A 'smart':5A 'user':6A","search_b":"'8.4.0':28B 'arbitrari':41B 'attack':49B 'binari':64B 'bind':39B 'clinic':55B 'document':58B 'documentrefer':62B 'endpoint':65B 'fhir':19B,61B 'healthcar':20B 'host':25B 'launch':37B 'let':29B 'low':32B 'low-privileg':31B 'note':56B 'oauth':46B 'openemr':21B,26B 'patient':42B,53B 'privileg':33B 'read':51B 'runtim':22B 'self':24B 'self-host':23B 'smart':34B 'standalon':36B 'standalone-launch':35B 'token':47B 'user':38B 'uuid':43B","search_c":"'8.4.0':68C 'acl':98C 'allow':73C 'arbitrari':84C 'attack':92C 'author':71C,104C 'binari':120C 'bind':83C 'bypass':72C 'clinic':110C 'contain':69C 'context':91C 'demo':97C 'document':113C 'documentrefer':118C 'endpoint':122C 'fhir':121C 'launch':80C 'low':75C 'low-privileg':74C 'note':111C 'oauth':89C 'openemr':66C 'patient':85C,96C,108C,116C 'patient-scop':115C 'privileg':76C 'read':106C 'scope':117C 'select':100C 'smart':77C 'standalon':79C 'standalone-launch':78C 'token':90C 'user':81C 'uuid':86C 'victim':102C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-09-13T09:24:29+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-124482","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-124482","severity":null,"published_at":"2026-11-08T14:18:17+00:00","modified_at":"2026-11-08T14:18:17+00:00","first_seen_at":"2026-11-08T14:48:41+00:00","fetched_at":"2026-11-08T14:48:41+00:00","note":null}],"documents":[{"id":102152,"url":"https://github.com/openemr/openemr/security/advisories/GHSA-rm4j-gxwp-qh48","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-09-13T09:24:29+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":102153,"url":"https://www.vulncheck.com/advisories/openemr-before-8.4.0-cross-patient-phi-exfiltration-via-smart-patient-launch","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}