{"id":"CVE-2026-104133","kind":"vulnerability","aliases":["CVE-2026-104133"],"related":[],"title":"OpenEMR: low-privilege user can corrupt lab-ordering configuration via DORN module","description":"OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, interface/modules/custom_modules/oe-module-dorn/public/compendium_install.php checks authentication and CSRF but does not require the admin/users ACL enforced by sibling DORN administration scripts. When the DORN module is enabled, a low-privilege authenticated user can supply a labGuid that causes LabCompendiumInstall::uninstall() to delete detail and result procedure types and deactivate order types before the reinstall step. The action can corrupt lab-ordering configuration and require an administrator to restore the compendium. This issue is fixed in version 8.3.0.","summary":"OpenEMR, an electronic health records application, has an endpoint in the DORN lab module that skips the admin users permission check its sibling scripts enforce. An authenticated low-privilege user can trigger an uninstall that deletes lab detail and result procedure types and deactivates order types, breaking lab ordering until an administrator restores the compendium.","severity":"high","cvss":7.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["healthcare","openemr","package","php","self-hosted"],"not_affected_if":["dorn-module-disabled","openemr-8.3.0-or-later"],"how_to_check":"- Check whether the DORN module is enabled in OpenEMR's module manager.\n- Check the OpenEMR version: `8.3.0` or later is fixed; anything earlier is affected.\n- Confirm the file `interface/modules/custom_modules/oe-module-dorn/public/compendium_install.php` exists on the server.","fix":"- OpenEMR: move to `8.3.0` or later.","status":"open","published_at":"2026-11-05T20:17:38+00:00","first_seen_at":"2026-11-05T20:40:43+00:00","triaged_at":"2026-11-05T20:43:16+00:00","updated_at":"2026-11-05T20:43:16+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-05T20:43:16Z","model":"claude-haiku-5-5","output":{"fix":"- OpenEMR: move to `8.3.0` or later.","reach":"network","title":"OpenEMR: low-privilege user can corrupt lab-ordering configuration via DORN module","impact":"medium","summary":"OpenEMR, an electronic health records application, has an endpoint in the DORN lab module that skips the admin users permission check its sibling scripts enforce. An authenticated low-privilege user can trigger an uninstall that deletes lab detail and result procedure types and deactivates order types, breaking lab ordering until an administrator restores the compendium.","audience":"businesses","category":"package","nicknames":[],"who_cares":["openemr","healthcare","self-hosted","php"],"confidence":0.8,"fix_status":"available","needs_auth":"yes","worst_case":"Lab ordering configuration is deleted or deactivated by a low-privilege user","analyst_note":"","how_to_check":"- Check whether the DORN module is enabled in OpenEMR's module manager.\n- Check the OpenEMR version: `8.3.0` or later is fixed; anything earlier is affected.\n- Confirm the file `interface/modules/custom_modules/oe-module-dorn/public/compendium_install.php` exists on the server.","plain_action":"","needs_analyst":false,"not_affected_if":["dorn-module-disabled","openemr-8.3.0-or-later"],"who_is_affected":"Only OpenEMR installations running versions before 8.3.0 with the DORN lab module enabled are exposed. An attacker needs a logged-in account, though any low-privilege account is enough, since the missing check is the admin ACL. Installations without the DORN module, or on 8.3.0 and later, are not affected.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.00075,"input_tokens":4378,"output_tokens":624,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-104133':17A,20A '-2026':16A,19A '8.3.0':101C,177C 'acl':113C 'action':156C 'admin':45B 'admin/users':112C 'administr':80B,118C,166C 'applic':33B,98C 'authent':54B,104C,130C 'break':75B 'caus':137C 'check':48B,103C 'compendium':83B,170C 'configur':11A,162C 'corrupt':7A,158C 'csrf':106C 'cve':15A,18A 'deactiv':72B,148C 'delet':64B,141C 'detail':66B,142C 'dorn':13A,39B,117C,122C 'electron':30B,91C 'enabl':125C 'endpoint':36B 'enforc':52B,114C 'fix':174C 'free':87C 'health':31B,92C 'healthcar':21B 'host':27B 'interface/modules/custom_modules/oe-module-dorn/public/compendium_install.php':102C 'issu':172C 'lab':9A,40B,65B,76B,160C 'lab-ord':8A,159C 'labcompendiuminstal':138C 'labguid':135C 'low':3A,56B,128C 'low-privileg':2A,55B,127C 'manag':97C 'medic':95C 'modul':14A,41B,123C 'open':89C 'openemr':1A,22B,28B,84C 'order':10A,73B,77B,149C,161C 'packag':23B 'permiss':47B 'php':24B 'practic':96C 'prior':99C 'privileg':4A,57B,129C 'procedur':69B,145C 'record':32B,93C 'reinstal':153C 'requir':110C,164C 'restor':81B,168C 'result':68B,144C 'script':51B,119C 'self':26B 'self-host':25B 'sibl':50B,116C 'skip':43B 'sourc':90C 'step':154C 'suppli':133C 'trigger':60B 'type':70B,74B,146C,150C 'uninstal':62B,139C 'user':5A,46B,58B,131C 'version':176C 'via':12A","nicknames":[],"mitigations":[],"who_affected":"Only OpenEMR installations running versions before 8.3.0 with the DORN lab module enabled are exposed. An attacker needs a logged-in account, though any low-privilege account is enough, since the missing check is the admin ACL. Installations without the DORN module, or on 8.3.0 and later, are not affected.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["healthcare","high","openemr","package","php","selfhosted"],"campaign_type":null,"first_public_at":"2026-08-18T08:50:26+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-104133","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-104133","severity":null,"published_at":"2026-11-05T20:17:38+00:00","modified_at":"2026-11-05T20:17:38+00:00","first_seen_at":"2026-11-05T20:40:43+00:00","fetched_at":"2026-11-05T20:40:43+00:00","note":null}],"documents":[{"id":79813,"url":"https://github.com/openemr/openemr/commit/7973cab3fe3f2fd2374ed71c02605e3c93491c36","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":79793,"url":"https://github.com/openemr/openemr/releases/tag/v8_3_0","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":79815,"url":"https://github.com/openemr/openemr/security/advisories/GHSA-jh2v-595q-h9vc","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-08-18T08:50:26+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}