Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-102940— OpenEMR: Missing Write ACL Allows Unauthorized Document Reassignment

Quick assessment

Affected
openemr openemr
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

OpenEMR 是一款免费且开源的电子健康记录与医疗诊所管理应用。在 8.4.0 版本之前, 中的写入操作(包括 函数)在调用 执行数据变更之前,未验证调用者是否拥有对源文档、当前患者及类别、或目标患者及类别的访问权限。这导致低权限的已认证用户可以将任意文档重新分配至其有权访问的患者或类别,随后通过原本受保护的读取路径获取该文档。由于重新分配操作发生在后续的列表渲染检查之前,因此即使最终返回 HTTP 403 响应,也不代表未授权的写入操作已被成功阻止。该问题已在 8.4.0 版本中修复。

CVSS 9.6 · Critical
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-102940

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
OpenEMR: Missing Write ACL Allows Unauthorized Document Reassignment
Source: CVE Program / CVE List V5
Vulnerability Description
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.4.0, controllers/C_Document.class.php write actions, including move_action_process(), do not verify the caller's access to the source document, current patient and category, or destination patient and category before Document::change_patient() performs the mutation. A low-privilege authenticated user can reassign an arbitrary document to a patient or category the user can access and then retrieve it through the normally protected read path. The reassignment occurs before a later list rendering check, so a final HTTP 403 response does not mean the unauthorized write was blocked. This issue is fixed in version 8.4.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
通过用户控制密钥绕过授权机制
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
openemr openemr < 8.4.0 -

II. Public POCs for CVE-2026-102940

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-102940

请登录查看更多情报信息。

Vendor Pages for CVE-2026-102940 (1)

Other References for CVE-2026-102940 (3)

Same Patch Batch · openemr · 2026-11-05 · 16 CVEs total

CVE-2026-103935 8.1 HIGH OpenEMR: Stored XSS via `text()` Misuse in Double-Quoted HTML Attribute
CVE-2026-115573 8.1 HIGH OpenEMR: Broken Access Control in controller.php Enables Insurance Routing Credential Hija
CVE-2026-65983 7.5 HIGH OpenEMR FaxSMS module: insecure staging of decrypted patient documents in webroot
CVE-2026-103938 7.1 HIGH OpenEMR: CSRF Protection Bypass on IPPF Point-of-Sale Void and Regen Operations
CVE-2026-104137 7.1 HIGH OpenEMR: Patient Data Search Without Sufficient ACL
CVE-2026-104136 7.1 HIGH OpenEMR: Arbitrary Patient Recall and Contact Detail Read
CVE-2026-104133 7.1 HIGH OpenEMR: Missing authorization in DORN `compendium_install.php` — non-admin destructive la
CVE-2026-104138 6.5 MEDIUM OpenEMR: Missing authorization on QRDA Category I/III download endpoints
CVE-2026-104135 6.5 MEDIUM OpenEMR: Missing authorization in payment patient-search AJAX leaks patient directory and
CVE-2026-104139 6.5 MEDIUM OpenEMR: Missing Authorization on Document Template Download Endpoint Allows Any Authentic
CVE-2026-104134 6.5 MEDIUM OpenEMR: Missing authorization in person-search AJAX leaks patient demographics (name, DOB
CVE-2026-103939 5.4 MEDIUM OpenEMR: Weno `file_download.php`: missing ACL/CSRF truncates the e-prescribing pharmacy d
CVE-2026-103021 5.3 MEDIUM OpenEMR: Username Enumeration via Pre-Authentication User Settings Loading
CVE-2026-103020 5.3 MEDIUM OpenEMR: Unauthenticated Information Disclosure in admin.php Exposes Database Names and Ve
CVE-2026-103019 4.3 MEDIUM OpenEMR: Unauthenticated Open Redirect via OIDC End Session Endpoint

IV. Related Vulnerabilities