CVE-2026-34055OpenEMR 版本 8.0.0.3 之前存在严重的不安全的直接对象引用(IDOR)漏洞。由于系统在处理传统患者备注时未验证归属权限,经过身份认证的攻击者可通过 Web UI 接口,利用用户控制的备注 ID 绕过访问控制。这导致攻击者能够未经授权地更新或删除其他患者的敏感医疗数据,造成严重的信息泄露与篡改风险。
该漏洞的核心在于 OpenEMR 的 `library/pnotes.inc.php` 文件中存在访问控制逻辑缺失。在受影响的版本中,系统处理患者备注的更新与删除请求时,仅仅依据传入的 `id` 参数构造 SQL 查询语句(如 `WHERE id = ?`),而未能实施额外的权限校验机制。这意味着,系统没有验证当前发起请求的用户是否具有该备注所属患者的访问授权。Web UI 的多个接口直接将用户输入的备注 ID 传递给后端函数。攻击者利用这一 IDOR(不安全的直接对象引用)漏洞,只需通过低权限账户登录,即可通过枚举或预测 ID 的方式,篡改请求参数中的 ID 值。通过发送特制的 HTTP POST 或 GET 请求,攻击者能够读取、修改甚至删除其他患者的敏感医疗记录,从而严重破坏了数据的机密性和完整性。