# Sanluan PublicCMS 路径遍历漏洞
## 概述
Sanluan PublicCMS 在 5.202506.d 及之前版本中存在路径遍历漏洞,位于任务模板管理组件的 `TaskTemplateAdminController.java` 文件的 `Save` 函数中。
## 影响版本
Sanluan PublicCMS ≤ 5.202506.d
## 细节
漏洞存在于 `com/publiccms/controller/admin/sys/TaskTemplateAdminController.java` 的 `Save` 方法中,对 `path` 参数未进行充分过滤,导致攻击者可通过构造恶意路径实现路径遍历。
## 影响
攻击者可远程利用该漏洞操纵文件系统路径,可能读取或写入任意文件,造成系统被进一步控制。该漏洞已被公开披露并可能被实际利用。厂商已被告知但未响应。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: PublicCMS : Remote Code Execution via Path Traversal in Task Template Management · Issue #2 · AnalogyC0de/public_exp -- 🔗来源链接
标签:exploitissue-tracking
神龙速读:
## 关键信息总结
### 漏洞概述
- **项目**: PublicCMS
- **漏洞类型**: 远程代码执行 (RCE) 通过路径遍历在任务模板管理中
- **被影响的版本**: PublicCMS <= v5.02506.d
- **CVE**: CWE-22 (路径遍历) + CWE-78 (OS 命令注入)
- **攻击链**: 任务模板路径遍历 -> 脚本覆盖 -> executeScript -> RCE
- **严重性**: CRITICAL (CVSS 9.8)
### 受影响的组件
- `com/publiccms/controller/admin/sys/TaskTemplateAdminController.java:73-100`
- `com/publiccms/common/tools/CmsFileUtils.java:495-501`
- `com/publiccms/logic/component/site/SiteComponent.java:120-137`
- `com/publiccms/logic/component/template/ScriptComponent.java:31-81`
- `com/publiccms/views/directive/tools/ExecuteScriptDirective.java:43-58`
### 根源分析
1. **弱路径清洗**: `getSafeFileName()` 函数仅进行简单的字符串替换。
2. **无边界检查**: 未检查最终路径是否在预期的任务模板目录内。
3. **不可信文件执行**: 脚本执行组件优先于类路径资源。
### 攻击向量
1. 利用路径遍历将恶意脚本写入 `script/` 目录。
2. 等待或触发计划任务执行。
3. `executeScript` 指令执行攻击者控制的脚本。
### 修复建议
1. 使用正确路径规范化修复路径清洗。
2. 添加边界检查。
3. 脚本签名验证。
4. 限制模板目录。
5. 将脚本目录隔离。
标题: Login required -- 🔗来源链接
标签:signaturepermissions-required
神龙速读:
### 关键信息
- **漏洞类型**:Path Traversal
- **受影响版本**:SANLUAN PublicCMS up to 5.202506.D
- **组件**:Task Template Management Tasktemplateadmincontroller.java
- **描述**:存在路径遍历漏洞,攻击者可能利用此漏洞访问和操作不受限的文件系统路径。
标题: Submit #732726: publiccms PublicCMS <= V5.202506.d Remote Code Execution (RCE) -- 🔗来源链接
标签:third-party-advisory
神龙速读:
### 漏洞关键信息
- **漏洞标题**: publiccms PublicCMS <= V5.202506.d Remote Code Execution (RCE)
- **漏洞描述**:
- 存在一个严重的路径遍历漏洞,在任务模板管理系统中,允许认证的管理员在文件系统中写入任意文件。通过利用弱路径清理功能,攻击者能够覆盖之后由计划任务系统执行的系统脚本,导致具有服务器权限的远程代码执行。
- **漏洞来源**:
- https://github.com/AnalogyC0de/public_exp/issues/2
- **提交用户**:
- Ana10gy (UID 93358)
- **提交日期**:
- 2022-01-06 04:05 PM
- **审核日期**:
- 2022-01-17 09:58 AM
- **状态**:
- 已接受
- **VulDB条目**:
- 234703 [Sanluan PublicCMS up to 5.202506.d Task Template Management TaskTemplateAdminController.java save path traversal]
- **相关CVSS分值**:
- 18
暂无评论