{"document":{"category":"csaf_vex","csaf_version":"2.0","title":"CVE-2026-48017: DbGate: Remote Code Execution via functionName injection in loadReader endpoint","publisher":{"category":"vendor","name":"HarborGuard Database","namespace":"https://database.harborguard.co"},"tracking":{"id":"CVE-2026-48017","status":"final","version":"1","initial_release_date":"2026-06-15T20:54:18.858Z","current_release_date":"2026-06-15T20:54:18.858Z","revision_history":[{"date":"2026-06-15T20:54:18.858Z","number":"1","summary":"Initial machine-readable export from HarborGuard."}]},"distribution":{"tlp":{"label":"WHITE"},"text":"Public CVE data; freely redistributable."},"notes":[{"category":"description","text":"DbGate is cross-platform database manager. In versions 7.1.8 and prior, the POST /runners/load-reader endpoint in DbGate accepts a functionName parameter that is directly interpolated into a JavaScript code template without any sanitization or validation. An authenticated user (with basic access, no special permissions required) can inject arbitrary JavaScript code that executes on the server with full process privileges, bypassing the require=null sandbox restriction. An authenticated user with basic access (no admin role, no run-shell-script permission required) can: execute arbitrary OS commands on the DbGate server with the privileges of the Node.js process, read/write any file accessible to the process, pivot to connected databases by reading connection credentials from DbGate's storage, and compromise the host system - in Docker deployments, this typically means root access within the container.","title":"CVE description"}],"references":[{"category":"self","summary":"CVE-2026-48017 on HarborGuard Database","url":"https://database.harborguard.co/cve/CVE-2026-48017"},{"category":"external","summary":"CVE Record","url":"https://www.cve.org/CVERecord?id=CVE-2026-48017"},{"category":"external","summary":"https://github.com/dbgate/dbgate/security/advisories/GHSA-hv83-ggc4-v385","url":"https://github.com/dbgate/dbgate/security/advisories/GHSA-hv83-ggc4-v385"},{"category":"external","summary":"https://github.com/dbgate/dbgate/releases/tag/v7.1.9","url":"https://github.com/dbgate/dbgate/releases/tag/v7.1.9"}]},"product_tree":{"branches":[{"category":"vendor","name":"dbgate","branches":[{"category":"product_name","name":"dbgate","branches":[{"category":"product_version","name":"< 7.1.9","product":{"name":"dbgate dbgate < 7.1.9","product_id":"CSAFPID-1","product_identification_helper":{"cpe":"cpe:2.3:a:dbgate:dbgate:\\<_7.1.9:*:*:*:*:*:*:*"}}}]}]}]},"vulnerabilities":[{"cve":"CVE-2026-48017","title":"DbGate: Remote Code Execution via functionName injection in loadReader endpoint","notes":[{"category":"description","text":"DbGate is cross-platform database manager. In versions 7.1.8 and prior, the POST /runners/load-reader endpoint in DbGate accepts a functionName parameter that is directly interpolated into a JavaScript code template without any sanitization or validation. An authenticated user (with basic access, no special permissions required) can inject arbitrary JavaScript code that executes on the server with full process privileges, bypassing the require=null sandbox restriction. An authenticated user with basic access (no admin role, no run-shell-script permission required) can: execute arbitrary OS commands on the DbGate server with the privileges of the Node.js process, read/write any file accessible to the process, pivot to connected databases by reading connection credentials from DbGate's storage, and compromise the host system - in Docker deployments, this typically means root access within the container.","title":"CVE description"}],"product_status":{"known_affected":["CSAFPID-1"]},"scores":[{"cvss_v3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"products":["CSAFPID-1"]}],"remediations":[{"category":"none_available","details":"No fixed version is published yet. Monitor the upstream advisory.","product_ids":["CSAFPID-1"]}]}]}