In eosphoros-ai/db-gpt v0.6.0, the web API endpoint POST /api/v1/editor/chart/run lacks access control, allowing unauthenticated users to execute arbitrary SQL queries. This can be leveraged to perform arbitrary file writes on the server, such as writing a malicious __init__.py file into the Python /site-packages/ directory, potentially resulting in remote code execution.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository is a small standalone Python exploit for CVE-2025-51458 affecting DB-GPT <= 0.7.0. It contains only two files: a README describing the vulnerability and usage, and exp.py, the actual exploit. The script uses the requests library and exposes a CLI for unauthenticated interaction with DB-GPT editor APIs. Core capability: the exploit sends attacker-controlled SQL to DB-GPT’s exposed editor endpoints, primarily /api/v1/editor/sql/run and optionally /api/v1/editor/chart/run. It also queries /api/v1/editor/db/list to enumerate available database connections. The exploit is pre-auth and intended for arbitrary SQL execution against backend databases configured in DB-GPT. Main functions in exp.py: - sql_run(): POSTs JSON containing db_name and sql to /api/v1/editor/sql/run and parses returned columns/values. - chart_run(): POSTs SQL to /api/v1/editor/chart/run, though the main CLI flow does not meaningfully use this helper beyond defining it. - list_databases(): GETs /api/v1/editor/db/list to enumerate accessible DB connections. - detect_db_type(): fingerprints backend DB type by issuing SELECT VERSION(), SELECT version(), and SELECT sqlite_version(). - main(): implements CLI modes for listing DBs, executing arbitrary SQL, dumping table names, dumping schema, and interactive SQL. Operational features: - --list-dbs enumerates configured databases. - --sql executes arbitrary user-supplied SQL. - --dump-tables enumerates table names using DB-specific metadata queries. - --dump-db dumps schema details using information_schema or SQLite PRAGMA queries. - Interactive mode provides a simple SQL shell. - --duckdb-bypass rewrites SELECT to SEL/**/ECT to evade the documented DuckDB blacklist. The exploit does not deliver OS-level code execution by itself; its payload is SQL-only. However, it provides practical post-exploitation value by enabling unauthenticated database reconnaissance and data access through the vulnerable web API. The code is functional and operational, but not framework-based or heavily weaponized.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
No public activity tracked yet. Mallory keeps watching.
No public activity observed for this vulnerability.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.