IPBUF安全漏洞报告
English
CVE-2026-33913 CVSS 7.7 高危

CVE-2026-33913 OpenEMR任意文件读取漏洞

披露日期: 2026-03-25

漏洞信息

漏洞编号
CVE-2026-33913
漏洞类型
XXE (XML外部实体注入)
CVSS评分
7.7 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenEMR

相关标签

XXE任意文件读取OpenEMRCVE-2026-33913

漏洞概述

OpenEMR是一款广泛使用的免费开源电子健康记录及医疗实践管理软件。在8.0.0.3版本之前,其Carecoordination模块存在严重的安全缺陷。经过身份验证的攻击者若拥有该模块的访问权限,可上传精心构造的CCDA文档。由于系统对XML外部实体(XXE)解析处理不当,攻击者能利用此漏洞读取服务器上的任意文件,如配置文件或密码文件,从而造成敏感信息泄露。官方已在8.0.0.3版本中修复了此问题。

技术细节

该漏洞属于典型的XML外部实体注入(XXE)。OpenEMR在处理通过Carecoordination模块上传的CCDA文档时,使用的XML解析器未禁用外部实体的解析。攻击者利用低权限账户登录系统后,构造包含恶意`<xi:include>`标签的XML文件。当服务端解析该文件时,会按照指令读取`/etc/passwd`等敏感系统文件内容,并将其嵌入到解析结果中返回给用户。由于CVSS评分为7.7且影响范围为C(Scope Changed),该漏洞不仅泄露数据,还可能作为跳板进行内网探测。利用过程无需用户交互,且攻击门槛较低。

攻击链分析

STEP 1
步骤1:获取访问权限
攻击者获取OpenEMR的一个低权限账户,该账户需具备Carecoordination模块的访问权限。
STEP 2
步骤2:构造恶意文档
攻击者创建一个包含XXE Payload的CCDA文档,插入`<xi:include href="file:///etc/passwd" parse="text"/>`标签。
STEP 3
步骤3:上传文档
攻击者登录系统,进入Carecoordination模块,并上传构造好的恶意CCDA文档。
STEP 4
步骤4:触发漏洞
服务器端解析上传的XML文档时,执行外部实体包含操作,读取目标文件内容。
STEP 5
步骤5:获取数据
解析结果(包含敏感文件内容)返回给攻击者,或在页面渲染中显示,导致信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Malicious CCDA document for PoC --> <?xml version="1.0" encoding="UTF-8"?> <ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:xi="http://www.w3.org/2001/XInclude"> <!-- XXE Payload to read /etc/passwd --> <xi:include href="file:///etc/passwd" parse="text"/> </ClinicalDocument>

影响范围

OpenEMR < 8.0.0.3

防御指南

临时缓解措施
如果无法立即升级,建议严格限制对Carecoordination模块的访问权限,仅授予必要的可信用户。同时,可以通过网络防火墙限制服务器对外发起的请求,或监控XML解析相关的异常日志。

参考链接

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