首页 网络安全 正文

Microweber CMS路径穿越漏洞CVE-2026-65694

摘要

栋科技漏洞库关注到 2.0.20 及以下版本 Microweber CMS 静态文件控制器路径穿越漏洞,追踪CVE-2026-65694,CVSS 3.X评分 7.5。

Microweber 是基于PHP Laravel开发、开源免费可视化建站 CMS,主打拖拽式在线编辑+内置电商,基于 Laravel标准框架,分层清晰。

一、基本情况

Microweber 内置完整 SEO 设置、AI 文案生成、访客统计、留言表单、多语言切换;自定义模块、主题模板,开放 API 对接三方工具。

Microweber CMS路径穿越漏洞CVE-2026-65694

Microweber支持白标私有化定制,自定义插件、支付网关、业务模块,无需代码即可搭建官网、博客、商城,开源协议允许商用修改。

栋科技漏洞库关注到 2.0.20 及以下版本 Microweber CMS 静态文件控制器路径穿越漏洞,追踪CVE-2026-65694,CVSS 3.X评分 7.5。

二、漏洞分析

CVE-2026-65694路径穿越漏洞影响了 Microweber CMS 的 ServeStaticFileController(静态文件控制器),该漏洞的安全等级为高危。

该漏洞源于程序内的 normalize\_path () 函数未能清理穿越路径字符,normalize_path() 函数存在逻辑缺陷,无法清除../目录跳转字符。

由于接口 path 参数未做完整过滤,攻击者仅需发送一条无认证 GET 请求,即可读取包含账号凭证的环境配置文件、系统文件等数据。

漏洞可通过网络远程发起,无需登录、无用户交互、攻击复杂度极低,在 path 查询参数中传入目录穿越字符序列读取服务器任意文件。

1、漏洞原理

静态文件控制器用于读取网站图片、JS、CSS 等静态资源,代码接收前端传入的path路径参数后,调用normalize_path()做路径清洗。

该函数过滤逻辑不完整,攻击者传入携带../的路径参数时,无法剥离跳转序列,服务端会读取网站根目录以外的服务器本地任意文件。

仅需发送一条普通 GET 请求即可触发,不需要管理员账号、访客登录、任何前置操作。

2、漏洞成因

静态文件控制器 ServeStaticFileContoller::serveFromUserfiles () 从请求输入参数读取路径,而非路由绑定片段:

$path = $request->path; // 直接访问属性

Laravel 中$request->path是对象属性(并非->path()方法),底层通过 Request::\_\_get 解析,

逻辑等价于Arr::get($this->all(), 'path', 回调函数读取路由参数),这意味着 URL 查询参数?path=能够覆盖路由{path}片段。

normalize\_path () 函数无法过滤..路径穿越符,同时 api.static 路由分组未配置身份认证中间件。

未授权攻击者可读取 Web 服务进程有权访问的任意服务器文件。

三、POC概念验证

1、漏洞复现(无需 Cookie、认证请求头)

项目默认网站根目录配置(public/.htaccess 单入口、推荐 Nginx try\_files $uri /index.php)下,

userfiles 目录位于网站根目录外部,请求会交由 Laravel 处理:

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



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