Advisory · CVE-2026-124483
OpenEMR prescription API checks the wrong permission, letting staff forge prescriptions
OpenEMR before 8.4.0 contains an incorrect authorization flaw because the prescription REST API routes check the patients.med ACL instead of patients.rx and request no specific permission bit, so read-only Medical/History access passes the check, letting authenticated staff users reuse the UI-exposed APICSRFTOKEN to enumerate prescription UUIDs, forge prescriptions for arbitrary patients, and deactivate existing prescriptions tenant-wide, rated high at CVSS 8.7 under version 4.0; fixed in 8.4.0.
- Vendor
- OpenEMR
- Product
- OpenEMR
- Identifier / CWE
- CVE-2026-124483
CWE-863 - Action timing
- Immediate
Explain it like I’m five
OpenEMR's prescription doorway checks whether you can view medical history instead of whether you can write prescriptions. Anyone with read-only access passes, and can then invent prescriptions for any patient or switch off real ones.
- 01Staff login
An authenticated staff user with read-only Medical/History access logs in.
- 02Wrong ACL checked
The prescription REST API checks patients.med instead of patients.rx.
- 03Token reused
The UI-exposed APICSRFTOKEN is sent with the request.
- 04Prescriptions enumerated
Prescription UUIDs are listed for arbitrary patients.
- 05Prescriptions forged
New prescriptions are created and existing ones deactivated tenant-wide.
What happened
OpenEMR before 8.4.0 contains an incorrect authorization vulnerability because the prescription REST API routes check the patients.med ACL instead of patients.rx and request no specific permission bit, so read-only Medical/History access passes the check. Authenticated staff users can reuse the UI-exposed APICSRFTOKEN to enumerate prescription UUIDs, forge prescriptions for arbitrary patients, and deactivate existing prescriptions tenant-wide. The record rates it high at CVSS 8.7 under version 4.0, with network attack vector, low complexity, low privileges required, and no user interaction.
Forged prescriptions are a patient safety event, not just a data event, and deactivated prescriptions can interrupt real treatment. The flaw is fixed in OpenEMR 8.4.0.
What to do
- Inventory OpenEMR deployments and record each version.
- Upgrade to OpenEMR 8.4.0 or later.
- Review prescription API logs for creations and deactivations outside normal workflows.
- Audit prescriptions for entries that do not match the prescribing clinician.
- Reconcile active prescriptions with clinicians and notify affected patients.
- Verify the deployed version after updating.
Management note
Forged or cancelled prescriptions can harm patients directly. Reconcile the prescription list with the clinicians before anything else.