CVE-2026-33931OpenEMR是一款免费的开源电子健康记录及医疗管理应用。在8.0.0.3版本之前,其患者门户支付页面存在不安全的直接对象引用(IDOR)漏洞。攻击者仅需拥有任意低权限患者账号,便可通过篡改URL参数访问其他患者的支付记录,窃取账单数据及支付卡元数据等敏感信息,造成严重隐私泄露。
该漏洞源于OpenEMR患者门户支付页面(portal/portal_payment.php)在处理支付记录请求时,缺乏对数据归属权的严格校验,存在不安全的直接对象引用(IDOR)缺陷。系统直接使用客户端提交的`recid`查询参数作为数据库检索的主键,而未在服务端验证该参数所指向的记录是否归属于当前已认证的会话用户。攻击者在获取一个低权限的合法患者账号后,可以通过篡改HTTP请求中的`recid`参数,遍历或猜测其他患者的记录ID。由于访问控制缺失,服务器会直接返回对应ID的支付记录,包括发票、账单数据(受保护健康信息PHI)及支付卡元数据。这种漏洞利用无需复杂的社会工程学操作,仅需网络访问即可触发,严重威胁患者医疗隐私数据的机密性。