首页 网络安全 正文

DedeCMS download.php SSRF漏洞CVE-2026-10581

摘要

栋科技漏洞库关注到 DedeCMS V5.7.88 版本的download.php文件中的 SSRF漏洞,追踪为CVE-2026-10581,漏洞CVSS 3.1评分 6.3。

DedeCMS(织梦)是国内老牌开源 PHP+MySQL 架构的国产内容管理系统(CMS),该软件在国内中小站点、企业官网使用量极高。

一、基本情况

DedeCMS 采用 PHP 技术架构开发、依托 MySQL 数据库,源码开源免费,Windows/Linux 服务器均可部署,一键安装即可快速建站。

DedeCMS适合企业官网、行业资讯站、产品展示站、资源下载站、小型门户、个人博客,早年大量的医疗、商贸、教育网站采用搭建。

DedeCMS download.php SSRF漏洞CVE-2026-10581

DedeCMS 是早期本土开源 CMS,生态成熟、模板与插件资源海量,后台多角色分权管理,建站效率高,主流稳定版本为 V5.7 系列。

栋科技漏洞库关注到 DedeCMS V5.7.88 版本的download.php文件中的 SSRF漏洞,追踪为CVE-2026-10581,漏洞CVSS 3.1评分 6.3。

二、漏洞分析

CVE-2026-10581漏洞是一个存在于DedeCMS V5.7.88(仅该版本受官方收录影响)版本中的,服务端请求伪造(SSRF)安全漏洞。

该漏洞影响路径为 /plus/download.php?open=1,该文件的 Link 参数在 open=1 模式下经过 base64_decode 解码后未进行充分验证。

可被用于构造恶意请求导致服务器发送任意请求,形成服务端请求伪造(SSRF),攻击者通过该漏洞探测内网服务或进行端口扫描。

具体来说,受影响版本中,download.php?open=1 分支通过 base64_decode(urldecode($link)) 处理 Link 参数,

download.php 开启open=1参数时,接收link参数做两层解码:

link = base64_decode(urldecode($_GET['link'])),

未对解码后的目标 URL 做协议、IP、域名白名单校验,直接传入下载逻辑,由 PHP 服务端主动发起网络请求,触发 SSRF。

虽然存在 $cfg_basehost 前缀检查和 hosts 白名单机制,

但 header("location:$link") 仍然能够将请求重定向至攻击者指定的 URL,攻击者可利用此缺陷向内部系统或外部恶意地址发起请求。

1、漏洞核心源码片段

else if($open==1)
{
    $id = isset($id) && is_numeric($id) ? $id : 0;
    $link = base64_decode(urldecode($link));//可控输入无过滤
    //后续代码使用$link拉取远程资源,触发服务端请求伪造
}

2、漏洞触发条件

访问携带open=1与link参数的 URL 即可触发,link参数经 URL 编码 + Base64 编码绕过前端简单过滤。

三、POC概念验证

(一)通用 POC 构造逻辑

将目标地址(内网 IP / 本地文件 / 外网地址)Base64 编码后再 URL 编码,拼接至请求:

/plus/download.php?open=1&link=BASE64+URL编码后的payload

(二)常见利用场景

1、内网端口扫描:

构造http://127.0.0.1:3306、http://192.168.1.1:6379编码后传入,探测内网 Redis、MySQL、MongoDB 等端口开放状态;

2、读取服务器本地文件:

使用file:///C:/windows/system32/drivers/etc/hosts、file:///etc/passwd协议读取服务器敏感配置文件(依赖 PHP 开启allow_url_fopen);

3、访问云主机元数据:

阿里云 / 腾讯云服务器访问http://169.254.169.254/latest/meta-data窃取云服务器密钥、实例凭证;

4、攻击内网 WEB 应用:

对内网站点发起 GET 请求,配合内网漏洞实现内网横向渗透。

(三) 协议拓展利用

支持http/https/file/gopher/ftp等多协议,gopher 协议可配合内网 Redis、FastCGI 漏洞进一步拓展至 RCE。

(四)安全危害

内网探测:遍历服务器内网网段,搜集内网存活主机、开放端口与服务版本;

本地文件读取:读取网站配置(config.inc.php数据库账号密码)、系统敏感文件;

云服务器信息泄露:获取云服务商元数据,接管云主机;

内网漏洞利用:以目标服务器为跳板,攻击内网无公网暴露的业务系统、中间件。

(五)修复方案

1、临时应急修复

文件补丁:修改plus/download.php,对解码后的$link做白名单限制:

仅放行http://、https://协议,拦截file:///gopher:///ftp://等危险协议;

禁用 127.0.0.1、192.168/172.16/10 段内网 IP 与云元数据 IP169.254.169.254;

临时屏蔽:网站防火墙拦截/plus/download.php?open=1全量请求。

2、永久修复

升级 DedeCMS 至官方后续安全更新版本,官方补丁新增 URL 协议 + IP 双重校验逻辑。

(六)补充说明

该漏洞区别于旧版 download.php 任意跳转漏洞:

旧漏洞仅 Header 跳转(客户端跳转),CVE-2026-10581 是服务端主动发包的 SSRF,危害远大于 URL 跳转;

若站点关闭allow_url_fopen,文件协议读取失效,但 HTTP 协议内网扫描依然可以正常利用。

四、影响范围

DedeCMS 5.7.88

五、修复建议

DedeCMS > 5.7.88

六、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接