{"id":"CVE-2026-124472","kind":"vulnerability","aliases":["CVE-2026-124472"],"related":[],"title":"OpenEMR: missing authorization lets any logged-in user read and edit patient billing notes","description":"OpenEMR before 8.3.0 contains a missing authorization vulnerability in interface/billing/sl_eob_patient_note.php that allows any authenticated user to read and modify patient billing notes. Attackers with low-privilege accounts can enumerate the patient_id parameter and submit POST requests using the embedded CSRF token to view or tamper with confidential billing data.","summary":"OpenEMR, an electronic health records system, has a missing authorization check in its billing EOB patient note page. Any authenticated user, including low-privilege accounts, can read and modify confidential patient billing notes by changing the patient_id value.","severity":"high","cvss":8.6,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["healthcare","openemr","other","php","self-hosted"],"not_affected_if":["managed-hosting"],"how_to_check":"- Check the installed OpenEMR version in the application's version settings or in the `version` file of the install.\n- Look for `interface/billing/sl_eob_patient_note.php` in the install directory.","fix":"- OpenEMR versions before `8.3.0` are affected; move to `8.3.0` or later.","status":"open","published_at":"2026-11-08T14:18:15+00:00","first_seen_at":"2026-11-08T14:48:40+00:00","triaged_at":"2026-11-08T14:49:10+00:00","updated_at":"2026-11-08T14:49:10+00:00","category":"other","confidence":0.7,"triage":{"at":"2026-11-08T14:49:10Z","model":"claude-haiku-5-5","output":{"fix":"- OpenEMR versions before `8.3.0` are affected; move to `8.3.0` or later.","reach":"network","title":"OpenEMR: missing authorization lets any logged-in user read and edit patient billing notes","impact":"high","summary":"OpenEMR, an electronic health records system, has a missing authorization check in its billing EOB patient note page. Any authenticated user, including low-privilege accounts, can read and modify confidential patient billing notes by changing the patient_id value.","audience":"businesses","category":"other","nicknames":[],"who_cares":["openemr","self-hosted","healthcare","php"],"confidence":0.7,"fix_status":"available","needs_auth":"yes","worst_case":"any logged-in user reads and alters patient billing notes","analyst_note":"Confirm the exact affected version range and fix details from the vendor advisory on github.com and the VulnCheck advisory, since the NVD text is the only source read here.","how_to_check":"- Check the installed OpenEMR version in the application's version settings or in the `version` file of the install.\n- Look for `interface/billing/sl_eob_patient_note.php` in the install directory.","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["managed-hosting"],"who_is_affected":"Clinics and organizations that run OpenEMR on their own servers with user accounts that have low privileges are exposed, since any logged-in account can reach the billing note page. Installations on a vendor-managed host or with no non-admin accounts are less exposed, but the sources do not say which configurations are safe.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000747,"input_tokens":4625,"output_tokens":569,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-124472':18A,21A '-2026':17A,20A '8.3.0':71C 'account':54B,96C 'allow':80C 'attack':91C 'authent':48B,82C 'author':3A,38B,75C 'bill':14A,42B,61B,89C,118C 'chang':64B 'check':39B 'confidenti':59B,117C 'contain':72C 'csrf':110C 'cve':16A,19A 'data':119C 'edit':12A 'electron':31B 'embed':109C 'enumer':98C 'eob':43B 'health':32B 'healthcar':22B 'host':28B 'id':67B,101C 'includ':50B 'interface/billing/sl_eob_patient_note.php':78C 'let':4A 'log':7A 'logged-in':6A 'low':52B,94C 'low-privileg':51B,93C 'miss':2A,37B,74C 'modifi':58B,87C 'note':15A,45B,62B,90C 'openemr':1A,23B,29B,69C 'page':46B 'paramet':102C 'patient':13A,44B,60B,66B,88C,100C 'php':25B 'post':105C 'privileg':53B,95C 'read':10A,56B,85C 'record':33B 'request':106C 'self':27B 'self-host':26B 'submit':104C 'system':34B 'tamper':115C 'token':111C 'use':107C 'user':9A,49B,83C 'valu':68B 'view':113C 'vulner':76C","nicknames":[],"mitigations":[],"who_affected":"Clinics and organizations that run OpenEMR on their own servers with user accounts that have low privileges are exposed, since any logged-in account can reach the billing note page. Installations on a vendor-managed host or with no non-admin accounts are less exposed, but the sources do not say which configurations are safe.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["healthcare","high","openemr","other","php","selfhosted"],"campaign_type":null,"search_a":"'-124472':18A,21A '-2026':17A,20A 'author':3A 'bill':14A 'cve':16A,19A 'edit':12A 'let':4A 'log':7A 'logged-in':6A 'miss':2A 'note':15A 'openemr':1A 'patient':13A 'read':10A 'user':9A","search_b":"'account':54B 'authent':48B 'author':38B 'bill':42B,61B 'chang':64B 'check':39B 'confidenti':59B 'electron':31B 'eob':43B 'health':32B 'healthcar':22B 'host':28B 'id':67B 'includ':50B 'low':52B 'low-privileg':51B 'miss':37B 'modifi':58B 'note':45B,62B 'openemr':23B,29B 'page':46B 'patient':44B,60B,66B 'php':25B 'privileg':53B 'read':56B 'record':33B 'self':27B 'self-host':26B 'system':34B 'user':49B 'valu':68B","search_c":"'8.3.0':71C 'account':96C 'allow':80C 'attack':91C 'authent':82C 'author':75C 'bill':89C,118C 'confidenti':117C 'contain':72C 'csrf':110C 'data':119C 'embed':109C 'enumer':98C 'id':101C 'interface/billing/sl_eob_patient_note.php':78C 'low':94C 'low-privileg':93C 'miss':74C 'modifi':87C 'note':90C 'openemr':69C 'paramet':102C 'patient':88C,100C 'post':105C 'privileg':95C 'read':85C 'request':106C 'submit':104C 'tamper':115C 'token':111C 'use':107C 'user':83C 'view':113C 'vulner':76C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-08-18T09:02:39+00:00","kev":null,"cvss_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/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-124472","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-124472","severity":null,"published_at":"2026-11-08T14:18:15+00:00","modified_at":"2026-11-08T14:18:15+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":102130,"url":"https://github.com/openemr/openemr/security/advisories/GHSA-74j7-7q95-rvxg","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-08-18T09:02:39+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":102131,"url":"https://www.vulncheck.com/advisories/openemr-before-8.3.0-missing-authorization-via-sl-eob-patient-note-php","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"}