CVE-2021-47758Chikitsa Patient Management System 2.0.2存在一处严重的认证后远程代码执行漏洞。该系统是一款面向医疗机构设计的患者管理软件,用于管理患者信息、预约、就诊记录等敏感医疗数据。漏洞源于系统的模块上传功能缺乏充分的文件安全验证,攻击者在获取低权限账户后,可以构造包含恶意PHP代码的ZIP压缩包并通过模块上传接口上传到服务器。上传成功后,攻击者访问上传的PHP文件即可在服务器上执行任意系统命令,从而完全控制目标服务器。该漏洞CVSS评分高达8.8,属于高危级别,对系统的机密性、完整性和可用性均造成严重影响。由于Chikitsa系统通常存储有大量患者隐私数据和医疗记录,一旦被攻击者利用,将导致严重的医疗数据泄露风险。
该漏洞的根本原因在于Chikitsa Patient Management System的模块上传功能存在安全缺陷。系统在实现模块上传时,未对上传文件的内容进行充分的安全检查,特别是对PHP文件类型的验证不足。攻击流程如下:首先,攻击者需要拥有一个有效的低权限用户账户(任何注册用户均可)。登录后,攻击者访问模块上传功能入口,通常位于管理后台的插件或模块管理页面。攻击者构造一个包含恶意PHP后门代码的ZIP压缩包,其中包含一个plugin.json配置文件和一个包含webshell的PHP文件。系统在接收ZIP文件后,仅检查文件扩展名和基本的ZIP格式,未对压缩包内的PHP文件内容进行安全审查。攻击者上传ZIP包后,系统会将其解压到指定目录,恶意PHP文件被存储在可被Web访问的路径下。攻击者通过浏览器或HTTP工具访问该PHP文件,并携带攻击命令参数,即可在服务器上以Web服务用户权限执行任意系统命令。由于系统通常以较高权限运行,攻击者可能进一步通过sudo、SUID等机制实现权限提升。