SEPTEMBER 17, 2026
Live Feed
Back to database
Case File

CVE-2026-80104

CRITICAL · CVSS 9.8 EPSS 0.71% Public Exploit

Source: NVD + CISA KEV + EPSS · Published 2026-08-25 · Last synced 2026-09-17

CyberRota Analysis

AI-Generated

The vulnerability allows unauthenticated remote attackers to exploit improper path handling in the DB-GPT application, enabling them to upload malicious files to arbitrary locations on the server. This can lead to the execution of arbitrary code, as attackers can place or replace Python modules within the application’s package. Organizations using DB-GPT should prioritize patching this critical vulnerability to prevent potential exploitation and ensure the integrity of their systems.

Public Exploit Signal

A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.

Detected Signals
code execution

Note: these links are listed for security research and verification purposes only.

CVE
CVE-2026-80104
Severity
CRITICAL
CVSS
9.8
EPSS
0.71%

Original NVD Description

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.