DB-GPT 0.8.0 Path Traversal Arbitrary File Write via Skill Upload Filename
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
DB-GPT builds the destination path for an uploaded skill from the multipart filename without constraining it to the upload directory. skill_upload in packages/dbgpt-app/src/dbgpt_app/openapi/api_v1/agentic_data_api.py takes file.filename as given and writes the request body to upload_dir / filename. A path composed with that operator discards the left operand when the right one is absolute and follows parent references otherwise, so a filename such as ../../../tmp/x or /tmp/x resolves outside the intended directory; nothing canonicalises the result, checks that it remains under the upload root, or prevents a .py suffix. The route's only dependency is get_user_from_headers in dbgpt_serve/utils/auth.py, which returns a request carrying the admin role whether or not a user_id header is supplied, so the endpoint is reachable without credentials. A remote attacker holding no account can therefore write attacker-controlled bytes to any path the server process can write, place a new Python module inside the application package or replace one the application already imports, and obtain code execution in the server process when that module is next imported.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| eosphoros-ai | DB-GPT | 0.8.0 to before 0.8.1 | 0.8.1 | Patch available | CNA |
- DB-GPT Vendoreosphoros-ai Affected 0.8.0 to before 0.8.1 Fixed in 0.8.1 Patch available CNA
Remediation
- Fix · CNA DB-GPT (eosphoros-ai) Fixed in 0.8.1
Timeline
- 2026-10-02 Threatist record created from CVE-2026-80104
- 2026-10-03 Alias added: GHSA-x75h-xjfp-qrh8
References
More eosphoros-ai vulnerabilities
- TI-2026-76663 Hardcoded MySQL root credentials in DB-GPT docker-compose deployment CVSS 4.0CRITICAL 9.3
- TI-2026-76662 Unauthenticated remote code execution in DB-GPT via agent endpoint CVSS 4.0CRITICAL 9.3
- TI-2026-51243 DB-GPT v0.8.1 Path Traversal Arbitrary File Write via user_id Header CVSS 4.0CRITICAL 9.3
- TI-2024-10106 Arbitrary File Upload with Path Traversal in eosphoros-ai/db-gpt CVSS 3.1CRITICAL 9.8
- TI-2024-10105 Arbitrary File Write via DuckDB SQL Injection in eosphoros-ai/db-gpt CVSS 3.1CRITICAL 9.8
- TI-2024-10044 Arbitrary File Write via SQL Injection in eosphoros-ai/db-gpt CVSS 3.1CRITICAL 9.8
Sources
- CVE-2026-80104 · CVE Program
- CVE-2026-80104 · NVD
- FIRST EPSS
- GHSA-x75h-xjfp-qrh8 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences