{"id":"CVE-2026-124464","kind":"vulnerability","aliases":["CVE-2026-124464"],"related":[],"title":"OpenEMR: patient SMART tokens read other patients' questionnaire responses","description":"OpenEMR before 8.4.0 contains an authorization bypass vulnerability that allows patient-scoped SMART tokens to read other patients' questionnaire responses because FhirQuestionnaireResponseService does not implement IPatientCompartmentResourceService. Attackers holding a patient/QuestionnaireResponse.rs token can request responses by uuid or list the unfiltered bundle to obtain cross-patient clinical assessment answers.","summary":"OpenEMR before 8.4.0 lets a patient-scoped SMART token read other patients' questionnaire responses, because the FHIR QuestionnaireResponse service skips the patient filter. An attacker holding such a token can fetch a response by UUID or list the unfiltered bundle to obtain other patients' clinical assessment answers.","severity":"high","cvss":7.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["fhir","healthcare","openemr","other","self-hosted","smart-on-fhir"],"not_affected_if":["no-patient-smart-tokens","openemr-8.4.0-or-later"],"how_to_check":"- Check the installed OpenEMR version; the sources say versions before `8.4.0` are affected.\n- Check whether SMART-on-FHIR patient apps or patient-scoped tokens are enabled for `patient/QuestionnaireResponse.rs` scope.","fix":"- OpenEMR: move to `8.4.0` or later.","status":"open","published_at":"2026-11-08T14:18:14+00:00","first_seen_at":"2026-11-08T14:48:40+00:00","triaged_at":"2026-11-08T14:49:41+00:00","updated_at":"2026-11-08T14:49:41+00:00","category":"other","confidence":0.7,"triage":{"at":"2026-11-08T14:49:41Z","model":"claude-haiku-5-5","output":{"fix":"- OpenEMR: move to `8.4.0` or later.","reach":"network","title":"OpenEMR: patient SMART tokens read other patients' questionnaire responses","impact":"high","summary":"OpenEMR before 8.4.0 lets a patient-scoped SMART token read other patients' questionnaire responses, because the FHIR QuestionnaireResponse service skips the patient filter. An attacker holding such a token can fetch a response by UUID or list the unfiltered bundle to obtain other patients' clinical assessment answers.","audience":"businesses","category":"other","nicknames":[],"who_cares":["openemr","fhir","smart-on-fhir","healthcare","self-hosted"],"confidence":0.7,"fix_status":"available","needs_auth":"yes","worst_case":"Other patients' clinical questionnaire answers are readable by a token holder","analyst_note":"Confirm default SMART scope configuration and whether the fix is only in 8.4.0 via the GitHub advisory linked as vendor advisory.","how_to_check":"- Check the installed OpenEMR version; the sources say versions before `8.4.0` are affected.\n- Check whether SMART-on-FHIR patient apps or patient-scoped tokens are enabled for `patient/QuestionnaireResponse.rs` scope.","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["openemr-8.4.0-or-later","no-patient-smart-tokens"],"who_is_affected":"Clinics and health organizations running OpenEMR 8.3 or earlier with the FHIR API and SMART patient tokens in use. A patient-scoped token holder can see other patients' questionnaire answers, so systems that do not issue patient SMART tokens are less exposed. The sources do not say whether default configurations enable this scope.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000795,"input_tokens":4650,"output_tokens":660,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-124464':12A,15A '-2026':11A,14A '8.4.0':29B,77C 'allow':84C 'answer':74B,124C 'assess':73B,123C 'attack':52B,102C 'author':80C 'bundl':67B,116C 'bypass':81C 'clinic':72B,122C 'contain':78C 'cross':120C 'cross-pati':119C 'cve':10A,13A 'fetch':58B 'fhir':16B,26B,44B 'fhirquestionnaireresponseservic':97C 'filter':50B 'healthcar':17B 'hold':53B,103C 'host':22B 'implement':100C 'ipatientcompartmentresourceservic':101C 'let':30B 'list':64B,113C 'obtain':69B,118C 'openemr':1A,18B,27B,75C 'patient':2A,7A,33B,39B,49B,71B,86C,93C,121C 'patient-scop':32B,85C 'patient/questionnaireresponse.rs':105C 'questionnair':8A,40B,94C 'questionnairerespons':45B 'read':5A,37B,91C 'request':108C 'respons':9A,41B,60B,95C,109C 'scope':34B,87C 'self':21B 'self-host':20B 'servic':46B 'skip':47B 'smart':3A,24B,35B,88C 'smart-on-fhir':23B 'token':4A,36B,56B,89C,106C 'unfilt':66B,115C 'uuid':62B,111C 'vulner':82C","nicknames":[],"mitigations":[],"who_affected":"Clinics and health organizations running OpenEMR 8.3 or earlier with the FHIR API and SMART patient tokens in use. A patient-scoped token holder can see other patients' questionnaire answers, so systems that do not issue patient SMART tokens are less exposed. The sources do not say whether default configurations enable this scope.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["fhir","healthcare","high","openemr","other","selfhosted","smartonfhir"],"campaign_type":null,"search_a":"'-124464':12A,15A '-2026':11A,14A 'cve':10A,13A 'openemr':1A 'patient':2A,7A 'questionnair':8A 'read':5A 'respons':9A 'smart':3A 'token':4A","search_b":"'8.4.0':29B 'answer':74B 'assess':73B 'attack':52B 'bundl':67B 'clinic':72B 'fetch':58B 'fhir':16B,26B,44B 'filter':50B 'healthcar':17B 'hold':53B 'host':22B 'let':30B 'list':64B 'obtain':69B 'openemr':18B,27B 'patient':33B,39B,49B,71B 'patient-scop':32B 'questionnair':40B 'questionnairerespons':45B 'read':37B 'respons':41B,60B 'scope':34B 'self':21B 'self-host':20B 'servic':46B 'skip':47B 'smart':24B,35B 'smart-on-fhir':23B 'token':36B,56B 'unfilt':66B 'uuid':62B","search_c":"'8.4.0':77C 'allow':84C 'answer':124C 'assess':123C 'attack':102C 'author':80C 'bundl':116C 'bypass':81C 'clinic':122C 'contain':78C 'cross':120C 'cross-pati':119C 'fhirquestionnaireresponseservic':97C 'hold':103C 'implement':100C 'ipatientcompartmentresourceservic':101C 'list':113C 'obtain':118C 'openemr':75C 'patient':86C,93C,121C 'patient-scop':85C 'patient/questionnaireresponse.rs':105C 'questionnair':94C 'read':91C 'request':108C 'respons':95C,109C 'scope':87C 'smart':88C 'token':89C,106C 'unfilt':115C 'uuid':111C 'vulner':82C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-09-13T09:25:00+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-124464","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-124464","severity":null,"published_at":"2026-11-08T14:18:14+00:00","modified_at":"2026-11-08T14:18:14+00:00","first_seen_at":"2026-11-08T14:48:40+00:00","fetched_at":"2026-11-08T14:48:40+00:00","note":null}],"documents":[{"id":102111,"url":"https://github.com/openemr/openemr/security/advisories/GHSA-fmmr-p679-97fq","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-09-13T09:25:00+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":102112,"url":"https://www.vulncheck.com/advisories/openemr-before-8.4.0-fhir-patient-compartment-bypass-via-questionnaireresponse","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"}