关键信息总结 漏洞类型: IDOR(Insecure Direct Object Reference),即未经验证的直接对象引用。 影响版本: OpenEMR版本<8.0.0。 CVE ID: CVE-2026-27943。 CVSS v3评分: 6.5/10(中等严重程度)。 漏洞描述: - 问题存在于眼检表单( )的视图中,该视图在不验证表单是否属于当前用户患者的就诊记录时,通过 加载数据。 - 认证用户可通过提供其他患者的表单ID来访问或编辑任何患者的眼检表单,在某些情况下,会话的活跃患者也可能被切换。 漏洞位置和代码片段: - 问题出现在 文件中的代码行28-29和33。查询缺少对 的检查,并未验证表单是否属于用户有权限访问的患者/就诊记录。 - 漏洞模式是,使用用户提供的 参数加载表单/记录,且在显示或更新前未进行所有权或ACL检查。 PoC(概念验证): - 以有权限访问眼检表单的用户(如临床医生)身份登录。 - 确定或猜测另一个患者眼检表单的 (如 ),例如 。 - 执行HTTP GET请求访问 。 - 如果页面显示了另一患者的眼检(并可能切换活跃患者),则确认IDOR漏洞。 预期修复: 服务器应检查表单是否属于用户有权访问的患者/就诊记录,否则返回403。 实际(漏洞状态): 服务器返回提供ID的眼检,并可能修改会话环境。 影响: - IDOR: 任何患者的眼检(PHI)可能被查看(并可能被编辑),影响隐私和临床完整性。 - 会话/环境: 如果从加载的表单中提取 并设置在会话中,用户的环境可能切换至另一患者,导致进一步的混淆或跨患者行为。 - 受影响对象: 使用 表单的部署;任何有眼检访问权限的用户。