{"id":"CVE-2026-77933","kind":"vulnerability","aliases":["CVE-2026-77933"],"related":[],"title":"DB-GPT: hardcoded MySQL root password lets attackers take full database access","description":"DB-GPT through 0.8.2 contains a hardcoded credentials vulnerability in its default docker-compose.yml that sets a static MYSQL_ROOT_PASSWORD and publishes port 3306 on all interfaces. Attackers reaching port 3306 or the shared dbgptnet network can authenticate as root@% to gain full database access including FILE and SUPER privileges.","summary":"DB-GPT, an AI database assistant, ships a default docker-compose.yml with a fixed MySQL root password and port 3306 open on all interfaces. An attacker who reaches that port can log in as root and gain full database access, including FILE and SUPER privileges.","severity":"critical","cvss":9.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ai-tooling","db-gpt","docker-compose","mysql","self-hosted"],"not_affected_if":["custom-mysql-password","managed-hosting","port-3306-not-published"],"how_to_check":"Run: grep -n 'MYSQL_ROOT_PASSWORD\\|3306' docker-compose.yml\nIf the password is the hardcoded default and the ports line publishes 3306 without a host IP, you are exposed.\nRun: docker ps --format '{{.Names}} {{.Ports}}' | grep 3306","fix":"Upgrade past DB-GPT 0.8.2 once a fixed release is confirmed; the sources do not name one.\nUntil then, remove the 3306 port mapping or bind it to 127.0.0.1, and set MYSQL_ROOT_PASSWORD to a unique secret.","status":"open","published_at":"2026-10-20T01:17:19+00:00","first_seen_at":"2026-10-23T21:57:19+00:00","triaged_at":"2026-10-23T22:39:42+00:00","updated_at":"2026-10-23T22:39:42+00:00","category":"ai-tooling","confidence":0.8,"triage":{"at":"2026-10-23T22:39:42Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade past DB-GPT 0.8.2 once a fixed release is confirmed; the sources do not name one.\nUntil then, remove the 3306 port mapping or bind it to 127.0.0.1, and set MYSQL_ROOT_PASSWORD to a unique secret.","reach":"network","title":"DB-GPT: hardcoded MySQL root password lets attackers take full database access","impact":"high","summary":"DB-GPT, an AI database assistant, ships a default docker-compose.yml with a fixed MySQL root password and port 3306 open on all interfaces. An attacker who reaches that port can log in as root and gain full database access, including FILE and SUPER privileges.","category":"ai-tooling","who_cares":["db-gpt","docker-compose","mysql","self-hosted"],"confidence":0.8,"needs_auth":"no","worst_case":"Attacker logs in as database root and reads or writes all data","analyst_note":"Confirm the fixed DB-GPT version and whether the default compose file is still shipped in later releases; check the NVD entry at https://nvd.nist.gov/vuln/detail/CVE-2026-77933.","how_to_check":"Run: grep -n 'MYSQL_ROOT_PASSWORD\\|3306' docker-compose.yml\nIf the password is the hardcoded default and the ports line publishes 3306 without a host IP, you are exposed.\nRun: docker ps --format '{{.Names}} {{.Ports}}' | grep 3306","needs_analyst":true,"not_affected_if":["managed-hosting","port-3306-not-published","custom-mysql-password"],"user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"critical"},"cost_usd":0.000598,"input_tokens":2977,"output_tokens":600,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-2026':15A,18A '-77933':16A,19A '0.8.2':82C '3306':52B,102C,109C 'access':13A,72B,123C 'ai':21B,37B 'ai-tool':20B 'assist':39B 'attack':9A,58B,106C 'authent':116C 'compos':28B 'contain':83C 'credenti':86C 'cve':14A,17A 'databas':12A,38B,71B,122C 'db':2A,24B,34B,79C 'db-gpt':1A,23B,33B,78C 'dbgptnet':113C 'default':42B,90C 'docker':27B 'docker-compos':26B 'docker-compose.yml':43B,91C 'file':74B,125C 'fix':46B 'full':11A,70B,121C 'gain':69B,120C 'gpt':3A,25B,35B,80C 'hardcod':4A,85C 'host':32B 'includ':73B,124C 'interfac':56B,105C 'let':8A 'log':64B 'mysql':5A,29B,47B,96C 'network':114C 'open':53B 'password':7A,49B,98C 'port':51B,62B,101C,108C 'privileg':77B,128C 'publish':100C 'reach':60B,107C 'root':6A,48B,67B,97C,118C 'self':31B 'self-host':30B 'set':93C 'share':112C 'ship':40B 'static':95C 'super':76B,127C 'take':10A 'tool':22B 'vulner':87C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-20T01:17:19+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-77933","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-77933","severity":null,"published_at":"2026-10-20T01:17:19+00:00","modified_at":"2026-10-20T14:17:00+00:00","first_seen_at":"2026-10-23T21:57:19+00:00","fetched_at":"2026-10-23T22:28:57+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}