CVE-2026-33934OpenEMR是一款广泛使用的开源电子医疗记录系统。在8.0.0.3版本之前,该系统存在一处严重的授权绕过漏洞。漏洞源于`portal/sign/lib/show-signature.php`文件中缺失了关键的身份验证检查机制。这使得任何经过身份验证的患者门户用户,都可以通过构造包含特定`user`参数的POST请求,非法获取系统中任意工作人员的电子签名图片。尽管负责保存签名的接口此前已修复此类问题,但读取接口未同步更新,导致信息泄露风险。攻击者可利用此漏洞窃取医疗人员签名,用于伪造医疗文件,对医疗机构的信誉和合规性构成威胁。
该漏洞的核心在于服务器端对资源访问请求的授权校验缺失(IDOR)。在OpenEMR的架构中,`portal/sign/lib/show-signature.php`文件用于处理签名图片的查询请求。正常的安全逻辑应当验证请求发起者是否为签名数据的所有者或拥有特定管理权限。然而,在受影响版本中,该接口仅依据POST请求体中的`user`参数来定位并返回数据,完全忽略了当前会话用户的身份上下文。尽管开发者此前已意识到类似的安全风险,并对负责保存签名的写入端点`save-signature.php`实施了权限加固,但在读取端点上出现了安全补丁的不一致。攻击者只需注册一个低权限的患者账号,即可通过修改HTTP请求包中的`user`参数值,遍历系统内任意工作人员的ID。一旦请求发送成功,服务器将直接响应目标用户的签名二进制流。这种越权行为不仅违背了最小权限原则,而且可能导致敏感的生物识别特征数据泄露。