{"id":"CVE-2026-126485","kind":"vulnerability","aliases":["CVE-2026-126485"],"related":[],"title":"OpenEMR: CSRF lets attackers delete observation records via GET request","description":"OpenEMR before 8.5.0 contains a cross-site request forgery vulnerability in ObservationController::deleteAction that allows attackers to delete observation form records without a CSRF token. Attackers can lure a logged-in clinician to a page issuing a GET to delete.php with guessed id values, soft-deleting observations in the victim's open encounter.","summary":"OpenEMR before 8.5.0 has a cross-site request forgery flaw in its observation delete handler, which accepts no CSRF token. An attacker who lures a logged-in clinician to a crafted page can soft-delete observation form records in that clinician's open encounter.","severity":"medium","cvss":5.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["healthcare","openemr","runtime","self-hosted"],"not_affected_if":["openemr-8.5.0-or-later"],"how_to_check":"- Check the OpenEMR version in the installed application: `unknown` is what the sources give for the exact check command.\n- Look for observation form deletions in the audit log for unexpected entries.","fix":"- OpenEMR: move to `8.5.0` or later.","status":"open","published_at":"2026-11-13T10:17:58+00:00","first_seen_at":"2026-11-13T10:47:26+00:00","triaged_at":"2026-11-13T10:57:08+00:00","updated_at":"2026-11-13T10:57:08+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-11-13T10:57:08Z","model":"claude-haiku-5-5","output":{"fix":"- OpenEMR: move to `8.5.0` or later.","reach":"internet","title":"OpenEMR: CSRF lets attackers delete observation records via GET request","impact":"low","summary":"OpenEMR before 8.5.0 has a cross-site request forgery flaw in its observation delete handler, which accepts no CSRF token. An attacker who lures a logged-in clinician to a crafted page can soft-delete observation form records in that clinician's open encounter.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["openemr","healthcare","self-hosted"],"confidence":0.6,"fix_status":"available","needs_auth":"yes","worst_case":"observation records in a clinician's open encounter are soft-deleted","analyst_note":"Confirm the exact fix-check steps and whether a patch exists beyond 8.5.0 by reading the vendor advisory on github.com and the vulncheck page linked in the sources.","how_to_check":"- Check the OpenEMR version in the installed application: `unknown` is what the sources give for the exact check command.\n- Look for observation form deletions in the audit log for unexpected entries.","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["openemr-8.5.0-or-later"],"who_is_affected":"OpenEMR installations before 8.5.0 where clinicians use the observation forms while logged in. Exposure depends on a logged-in user visiting an attacker-controlled page, so the risk is highest for clinicians who browse other sites during sessions.","user_interaction":"yes","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000746,"input_tokens":4616,"output_tokens":568,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-126485':13A,16A '-2026':12A,15A '8.5.0':25B,72C 'accept':40B 'allow':85C 'attack':4A,45B,86C,96C 'clinician':52B,66B,103C 'contain':73C 'craft':55B 'cross':29B,76C 'cross-sit':28B,75C 'csrf':2A,42B,94C 'cve':11A,14A 'delet':5A,37B,60B,88C,118C 'delete.php':111C 'deleteact':83C 'encount':69B,125C 'flaw':33B 'forgeri':32B,79C 'form':62B,90C 'get':9A,109C 'guess':113C 'handler':38B 'healthcar':17B 'host':22B 'id':114C 'issu':107C 'let':3A 'log':50B,101C 'logged-in':49B,100C 'lure':47B,98C 'observ':6A,36B,61B,89C,119C 'observationcontrol':82C 'open':68B,124C 'openemr':1A,18B,23B,70C 'page':56B,106C 'record':7A,63B,91C 'request':10A,31B,78C 'runtim':19B 'self':21B 'self-host':20B 'site':30B,77C 'soft':59B,117C 'soft-delet':58B,116C 'token':43B,95C 'valu':115C 'via':8A 'victim':122C 'vulner':80C 'without':92C","nicknames":[],"mitigations":[],"who_affected":"OpenEMR installations before 8.5.0 where clinicians use the observation forms while logged in. Exposure depends on a logged-in user visiting an attacker-controlled page, so the risk is highest for clinicians who browse other sites during sessions.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["healthcare","medium","openemr","runtime","selfhosted"],"campaign_type":null,"search_a":"'-126485':13A,16A '-2026':12A,15A 'attack':4A 'csrf':2A 'cve':11A,14A 'delet':5A 'get':9A 'let':3A 'observ':6A 'openemr':1A 'record':7A 'request':10A 'via':8A","search_b":"'8.5.0':25B 'accept':40B 'attack':45B 'clinician':52B,66B 'craft':55B 'cross':29B 'cross-sit':28B 'csrf':42B 'delet':37B,60B 'encount':69B 'flaw':33B 'forgeri':32B 'form':62B 'handler':38B 'healthcar':17B 'host':22B 'log':50B 'logged-in':49B 'lure':47B 'observ':36B,61B 'open':68B 'openemr':18B,23B 'page':56B 'record':63B 'request':31B 'runtim':19B 'self':21B 'self-host':20B 'site':30B 'soft':59B 'soft-delet':58B 'token':43B","search_c":"'8.5.0':72C 'allow':85C 'attack':86C,96C 'clinician':103C 'contain':73C 'cross':76C 'cross-sit':75C 'csrf':94C 'delet':88C,118C 'delete.php':111C 'deleteact':83C 'encount':125C 'forgeri':79C 'form':90C 'get':109C 'guess':113C 'id':114C 'issu':107C 'log':101C 'logged-in':100C 'lure':98C 'observ':89C,119C 'observationcontrol':82C 'open':124C 'openemr':70C 'page':106C 'record':91C 'request':78C 'site':77C 'soft':117C 'soft-delet':116C 'token':95C 'valu':115C 'victim':122C 'vulner':80C 'without':92C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-10-28T01:46:37+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/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-126485","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-126485","severity":null,"published_at":"2026-11-13T10:17:58+00:00","modified_at":"2026-11-13T10:17:58+00:00","first_seen_at":"2026-11-13T10:47:26+00:00","fetched_at":"2026-11-13T10:47:26+00:00","note":null}],"documents":[{"id":145213,"url":"https://github.com/openemr/openemr/security/advisories/GHSA-7gjr-359j-5q93","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-28T01:46:37+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":145214,"url":"https://www.vulncheck.com/advisories/openemr-before-8.5.0-csrf-via-observation-form-delete-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"}