共享电子病历OpenClinic应用中发现4个漏洞。最值得注意的是,一个漏洞允许未经身份验证的远程攻击者从应用程序中读取患者的个人健康信息(PHI)。OpenClinic是一款开源的健康档案管理软件;据BishopFox的研究人员称,其最新版本是0.8.2版,于2016年发布,因此该漏洞仍未修补。项目团队没有立即回应Threatpost的评论。据研究人员称,这四个漏洞涉及身份验证缺失;不安全的文件上传;跨站点脚本(XSS);和路径遍历。最严重的漏洞(CVE-2020-28937)是由于缺少对医疗测试信息请求身份验证的检查。获得认证的医务人员可以上传患者的医学测试文件,然后将它们存储在'/tests/'目录中。不幸的是,该系统不需要患者登录即可查看测试结果。该公司在周二的一篇帖子中写道,任何拥有有效医学测试文件完整路径的人都可以访问这些信息,这可能会导致应用程序中存储的任何医疗记录中的PHI丢失。好消息是攻击者需要知道或猜测存储在“/tests/”目录中的文件的名称才能利用此漏洞。“然而,医学测试文件名是可以猜测的,有效的文件名也可以从服务器或其他网络基础设施上的日志文件中获得,”研究人员写道。医疗记录是地下网络犯罪中的热门商品——疯狂的身份盗窃或网络钓鱼诈骗者可以使用存储的个人信息来实施看似真实的犯罪。BishopFox发现的另一个漏洞可能允许经过身份验证的攻击者在应用程序服务器上执行远程代码。这个危险的文件上传漏洞(CVE-2020-28939)允许管理员和管理员角色的用户上传恶意文件,例如PHPwebshell,导致应用程序服务器上的任意代码执行漏洞。根据BishopFox的说法,有权为患者输入医学测试的管理员用户可以使用“/openclinic/medical/test_new.php文件”将文件上传到应用程序中。此功能不限制可以上传到应用程序的文件类型。因此,用户可以上传包含简单PHPwebshell的文件。应用程序的恶意用户可以利用此漏洞访问敏感信息、提升权限、在应用程序服务器上安装恶意程序,或将服务器用作跳板以获取对网络的内部访问权限。第三个漏洞是一个中等严重程度的存储型XSS漏洞(CVE-2020-28938),它允许未经身份验证的攻击者嵌入一个有效负载,如果管理员用户单击该有效负载,则会提升攻击者的帐户。据BishopFox称,虽然应用程序代码包含防止XSS攻击的措施,但发现可以绕过这些措施。允许用户输入的HTML标记仅限于/lib/Check.php中指定的白名单。这意味着在现实世界的攻击场景中,攻击者可以向受害者发送一个恶意链接,当点击该链接时,他们可以作为另一个用户进行攻击,BishopFox说。为了验证漏洞的影响,在患者的病历中嵌入了一个XSSpayload,此时具有较低权限的用户角色,当管理员单击时,此payload创建了一个新的管理员帐户,从而允许攻击者升级特权。最后一个漏洞是一个低影响路径遍历问题(未分配CVE),可能允许经过身份验证的攻击者将文件存储在应用程序服务器上指定目录之外。据研究人员称,管理员用户可以通过“/admin/theme_new.php”文件将新主题上传到应用程序,这会导致在OpenClinic安装目录的css文件夹下创建一个新文件。同时可以从css文件夹中导出并将文件存储在文件系统的其他位置。BishopFox在8月底首次发现了这些漏洞,他多次尝试通过电子邮件联系OpenClinic开发团队,但没有收到任何回复。研究人员表示,发现的漏洞存在于任何当前版本的OpenClinic中,建议切换到其他病历管理软件。本文翻译自:https://threatpost.com/electronic-medical-records-openclinic-bugs/161722/如有转载请注明出处。
