CVE-2026-40076OpenMRS Core模块上传功能存在Zip Slip路径遍历漏洞,受影响版本包括2.7.8及以前和2.8.0至2.8.5。攻击者利用此漏洞可在解压恶意.omod文件时绕过路径检查,将文件写入预期目录之外。通过上传恶意JSP文件至Web根目录并访问,攻击者可实现远程代码执行,且该过程仅需低权限认证,危害极大。
该漏洞位于OpenMRS Core的模块上传REST API端点(POST `/openmrs/ws/rest/v1/module`)。在`WebModuleUtil.startModule()`方法中,系统自动解压上传的.omod文件。代码仅检查ZIP条目路径是否以特定前缀(如`..,`)开头,但未对路径进行规范化或严格的边界验证。这使得攻击者能够利用Zip Slip技术,构造包含路径遍历序列(如`../`)的恶意文件名(例如`web/module/../../../../malicious.jsp`)。解压过程中,恶意路径与目标路径直接拼接,导致文件被写入模块目录之外,甚至是Web应用程序根目录。配合JSP文件的解析特性,攻击者只需拥有模块上传权限,即可上传Webshell并触发远程代码执行。值得注意的是,`module.allow_web_admin`运行时属性仅在旧版UI控制器中生效,REST API端点未实施该检查,扩大了攻击面。