{"id":"CVE-2026-126449","kind":"vulnerability","aliases":["CVE-2026-126449"],"related":[],"title":"OpenEMR: missing access checks let front office users change patient records","description":"OpenEMR before 8.5.0 contains a missing authorization vulnerability in immunizations.php, diagnosis_full.php, and billing_process.php that lets low-privileged users bypass ACL checks. Authenticated Front Office users can reuse their session CSRF token to add or delete immunizations, write encounter billing codes, and invoke the billing processor.","summary":"OpenEMR before 8.5.0 lets low-privileged, logged-in front office users skip access control checks in immunizations.php, diagnosis_full.php and billing_process.php. Those users can add or delete immunizations, write encounter billing codes and run the billing processor.","severity":"high","cvss":7.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["healthcare","openemr","other","self-hosted"],"not_affected_if":["managed-hosting-patched","openemr-8.5.0-or-later"],"how_to_check":"- Check the installed OpenEMR version and see whether it is below `8.5.0`\n- Review whether front office accounts exist that should not be able to edit immunization, diagnosis or billing records","fix":"- OpenEMR: move to `8.5.0` or later (per the advisory range in the sources)","status":"open","published_at":"2026-11-13T10:17:52+00:00","first_seen_at":"2026-11-13T10:47:23+00:00","triaged_at":"2026-11-13T10:53:07+00:00","updated_at":"2026-11-13T10:53:07+00:00","category":"other","confidence":0.7,"triage":{"at":"2026-11-13T10:53:07Z","model":"claude-haiku-5-5","output":{"fix":"- OpenEMR: move to `8.5.0` or later (per the advisory range in the sources)","reach":"network","title":"OpenEMR: missing access checks let front office users change patient records","impact":"high","summary":"OpenEMR before 8.5.0 lets low-privileged, logged-in front office users skip access control checks in immunizations.php, diagnosis_full.php and billing_process.php. Those users can add or delete immunizations, write encounter billing codes and run the billing processor.","audience":"businesses","category":"other","nicknames":[],"who_cares":["openemr","self-hosted","healthcare"],"confidence":0.7,"fix_status":"available","needs_auth":"yes","worst_case":"low-privileged staff alter medical and billing records","analyst_note":"","how_to_check":"- Check the installed OpenEMR version and see whether it is below `8.5.0`\n- Review whether front office accounts exist that should not be able to edit immunization, diagnosis or billing records","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["openemr-8.5.0-or-later","managed-hosting-patched"],"who_is_affected":"Clinics and organizations running self-hosted OpenEMR older than 8.5.0 with front office user accounts. Exposure depends on those authenticated users having access to the affected pages, so installations with only trusted staff accounts carry less risk.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000727,"input_tokens":4621,"output_tokens":529,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-126449':14A,17A '-2026':13A,16A '8.5.0':26B,64C 'access':3A,38B 'acl':82C 'add':49B,95C 'authent':84C 'author':68C 'bill':55B,60B,101C,106C 'billing_process.php':45B,74C 'bypass':81C 'chang':9A 'check':4A,40B,83C 'code':56B,102C 'contain':65C 'control':39B 'csrf':92C 'cve':12A,15A 'delet':51B,97C 'diagnosis_full.php':43B,72C 'encount':54B,100C 'front':6A,34B,85C 'healthcar':18B 'host':23B 'immun':52B,98C 'immunizations.php':42B,71C 'invok':104C 'let':5A,27B,76C 'log':32B 'logged-in':31B 'low':29B,78C 'low-privileg':28B,77C 'miss':2A,67C 'offic':7A,35B,86C 'openemr':1A,19B,24B,62C 'patient':10A 'privileg':30B,79C 'processor':61B,107C 'record':11A 'reus':89C 'run':58B 'self':22B 'self-host':21B 'session':91C 'skip':37B 'token':93C 'user':8A,36B,47B,80C,87C 'vulner':69C 'write':53B,99C","nicknames":[],"mitigations":[],"who_affected":"Clinics and organizations running self-hosted OpenEMR older than 8.5.0 with front office user accounts. Exposure depends on those authenticated users having access to the affected pages, so installations with only trusted staff accounts carry less risk.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["healthcare","high","openemr","other","selfhosted"],"campaign_type":null,"search_a":"'-126449':14A,17A '-2026':13A,16A 'access':3A 'chang':9A 'check':4A 'cve':12A,15A 'front':6A 'let':5A 'miss':2A 'offic':7A 'openemr':1A 'patient':10A 'record':11A 'user':8A","search_b":"'8.5.0':26B 'access':38B 'add':49B 'bill':55B,60B 'billing_process.php':45B 'check':40B 'code':56B 'control':39B 'delet':51B 'diagnosis_full.php':43B 'encount':54B 'front':34B 'healthcar':18B 'host':23B 'immun':52B 'immunizations.php':42B 'let':27B 'log':32B 'logged-in':31B 'low':29B 'low-privileg':28B 'offic':35B 'openemr':19B,24B 'privileg':30B 'processor':61B 'run':58B 'self':22B 'self-host':21B 'skip':37B 'user':36B,47B 'write':53B","search_c":"'8.5.0':64C 'acl':82C 'add':95C 'authent':84C 'author':68C 'bill':101C,106C 'billing_process.php':74C 'bypass':81C 'check':83C 'code':102C 'contain':65C 'csrf':92C 'delet':97C 'diagnosis_full.php':72C 'encount':100C 'front':85C 'immun':98C 'immunizations.php':71C 'invok':104C 'let':76C 'low':78C 'low-privileg':77C 'miss':67C 'offic':86C 'openemr':62C 'privileg':79C 'processor':107C 'reus':89C 'session':91C 'token':93C 'user':80C,87C 'vulner':69C 'write':99C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-10-28T01:17:57+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/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-126449","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-126449","severity":null,"published_at":"2026-11-13T10:17:52+00:00","modified_at":"2026-11-13T10:17:52+00:00","first_seen_at":"2026-11-13T10:47:23+00:00","fetched_at":"2026-11-13T10:47:23+00:00","note":null}],"documents":[{"id":145142,"url":"https://github.com/openemr/openemr/security/advisories/GHSA-xp7w-8fx3-642x","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-28T01:17:57+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":145143,"url":"https://www.vulncheck.com/advisories/openemr-before-8.5.0-missing-authorization-in-immunizations-php-diagnosis-full-php-billing-process-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"}