# Cacti 允许任意文件创建从而导致 RCE
## 漏洞概述
Cacti是一款开源的性能和故障管理框架。存在漏洞,允许已认证的Cacti用户通过滥用图形创建和图形模板功能,在应用的web根目录下创建任意PHP脚本,进而导致服务器上的远程代码执行。
## 影响版本
1.2.28及之前版本
## 漏洞细节
已认证的Cacti用户可以利用图形创建和图形模板功能在web根目录下创建任意PHP脚本,这将导致攻击者能够在服务器上执行任意代码。
## 漏洞影响
攻击者可以通过已认证用户身份执行远程代码,这可能导致服务器完全被控制,包括但不限于数据泄露、篡改和业务中断。
## 修复版本
该漏洞已在1.2.29版本中修复。
是否为 Web 类漏洞: 是
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|---|---|---|
| 1 | None | https://github.com/Threekiii/Awesome-POC/blob/master/Web%E5%BA%94%E7%94%A8%E6%BC%8F%E6%B4%9E/Cacti%20RRDTool%20%E5%90%8E%E5%8F%B0%E5%8F%82%E6%95%B0%E6%B3%A8%E5%85%A5%E5%AF%BC%E8%87%B4%E8%BF%9C%E7%A8%8B%E4%BB%A3%E7%A0%81%E6%89%A7%E8%A1%8C%20CVE-2025-24367.md | POC详情 |
| 2 | https://github.com/vulhub/vulhub/blob/master/cacti/CVE-2025-24367/README.md | POC详情 | |
| 3 | Proof of Concept for CVE-2025-24367 | https://github.com/TheCyberGeek/CVE-2025-24367-Cacti-PoC | POC详情 |
| 4 | CVE-2025-24367 - Cacti Authenticated Graph Template RCE | https://github.com/r0tn3x/CVE-2025-24367 | POC详情 |
| 5 | Authenticated RCE PoC for Cacti (CVE‑2025‑24367). Uses graph template injection to write and execute a payload via the “Unix – Logged in Users” template. Intended for labs and controlled testing only. | https://github.com/SoftAndoWetto/CVE-2025-24367-PoC-Cacti | POC详情 |
| 6 | CVE-2025-24367: Cacti AuthN Graph Template RCE in posix sh | https://github.com/matesz44/CVE-2025-24367 | POC详情 |
标题: Arbitrary File Creation leading to RCE · Advisory · Cacti/cacti · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
## 关键漏洞信息
### 漏洞描述
- **漏洞名称**: Arbitrary File Creation leading to RCE
- **CVE编号**: CVE-2025-24367
- **严重程度**: High
### 影响与修复
- **受影响版本**: <= 1.2.28
- **修复版本**: 1.2.29
### 漏洞详情
- **漏洞原因**:
- Cacti允许认证用户利用图形创建和图形模板功能在应用的web根目录创建任意PHP脚本。
- **函数位置**:
- `lib/rrd.php` 中的 `rrd_function_process_graph_options` 函数
- `lib/functions.php` 中的 `cacti_escapeshellarg` 函数
- **问题所在**:
- 函数试图通过转义shell元字符来净化可能被污染的用户输入。
- 但没有正确清理或移除换行符,导致可以注入新命令给rrdtool二进制工具。
### 漏洞验证
- **示例Payload**:
- 创建一个RRD数据库,然后生成一个CSV图,并嵌入PHP代码。
- **PoC**:
- 通过POST请求利用图形或模板功能注入Payload。
### 影响
- **潜在影响**:
- 任意PHP脚本写入应用的web根目录,可能导致远程代码执行。
### 修复方法
- **建议措施**:
- 升级至1.2.29版本或更高,以应用修复。
标题: QA: 1.2.29 Security Updates (#6074) · Cacti/cacti@c7e4ee7 · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
### 关键信息
#### 变更概览
- **9个文件被修改**,共新增125行代码,删除46行代码。
- **版本修复**:针对Cacti 1.2.29版本的安全性更新,解决了一系列安全漏洞。
#### 主要安全问题
1. **GISA-pv2c-g7pp-vxwg**:通过`Poller Standard Error Log Path`导致的本地文件包含(LFI)漏洞。
2. **GISA-f9c7-7rc3-574c**:在使用树规则和自动化API时的SQL注入漏洞。
3. **GISA-vj3F2-w4wj**:在查看主机模板时的SQL注入漏洞。
4. **GISA-fh3x-9rr-gqgg**:在请求自动化设备时的SQL注入漏洞。
5. **GISA-fxrq-fr7h-9rqg**:通过多行SNMP响应导致的远程代码执行(RCE)漏洞。
#### 具体代码变更
- **automation_graph_rules.php**:
- 对于`host`和`host_template`数据库字段的值进行SQL注入检测,防止非法操作。
- **automation_tree_rules.php**:
- 与上述文件类似,增加对SQL注入的检测,确保数据安全。
- **lib/functions.php**:
- 修改了`cacti_escapeshellarg`函数,以正确处理字符串中的特殊字符,防止命令注入。
- **lib/html_validate.php和lib/snmp.php**:
- 主要代码变更集中在对输入数据的验证和安全检查上,防止SQL注入和其他潜在的漏洞。
#### 变更 commend
该commit主要目的是修复Cacti版本1.2.29中出现的多个因`SQL注入`和`RCE`导致的安全问题,针对不同文件和功能模块分别报告了相应的漏洞ID,并通过修改代码逻辑,加强了对输入数据的验证和处理,确保系统的安全性和稳定性。
暂无评论